/** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } }ْH!I"H<`jHU{Ke $&ff0k' 8 yUwu "=<<<8}bV s)a.Ú/k&}\ĜY3F"~6a|/[:v<±F/ xNpW,AP\;gp '+jlɰ6 :n`ir Y(vbW๾u>_zϾF$b/-Mٷ>{%?rbEu޻|%ˆQY9~OyxڒX*zc?jThA( .‵?>}iߟ}S{3d{L39 bfkքG+&܍@(<_D,t<_61[ V/짟Ow-LRڳwPG%nY `0 Rk@q6TK\N1Pu,; ˹ P$dbž¾ڕewfMXM˟&UCO/1ڏK~ bWެ^ BE q Qa5b1ϒ(Y-1?;D0#«ژGЭ+>>է;ZTS6fSo^OZ&.c( )D EhU T"+/Skhg }(i !ܜ;^sՅfi֮O~}9Кצ!ZLTw*5Iά8}W"壈X4bgO|=da ݤ~x}M0b*>|mΙ5pÚ!}PHhZP{au7{u&,>CvDV< .S [h&-w;M$"X zڮ+Q ÌACn $6qv "ڧ=h[{2iZL>0u݆=ޗ)ƅl_=1{nʟ$\gϞ)qGV{6sܳ/դe.k)ݵ><&PAA6f3{)ƸVi>^+FꓤձS@?(O؏~x.o\g"NfYYByn2U-&$x E5)ɵ(/шQ3Zj }{0y/ ﮎׇ XM$ {9:k%{m _s^?q7pd|Tk+nF56ɐ>N& ³_׆u]?w"`n=x>H]'#J*~nxMxeE x_CAd]CS ,pܶ__@:Q#Dw/U6 1KP3\K,iJ6|!i=zid&#2gRϠVkÄOҚNs9靁5vJ>578%:qu" t$yc/J:߿} ~)hĪ//f쮁F/'@Cn$T"^~n~ej0"ezP i8al}P!?{cFɊzE]a ]cn }o.4˰UB Ψ B0 T[\bI=j,s3 )@Wԩc0p0f醕Ϟ7dw~B[U"%؇'w$ :@m>1-Ǘu:|Fz-R񉄶^B ZX2P͜IUY~x,cx R=1zCIIsdz] ۷Ó9_>WhtÃXLy4+?~̧R` _);zD 3Y=q?-c.hƁx(Jp Xd^1> $|:㐇+Q69ת[U#12ͅtP&ITǡWq "MQP ѧ״Mp-WGkN5S[v#̭LDg@g#:ښ2+e|5hEcN?y ‰f4V@}9sb`pWhlޯw\86x _XS:*f746UTE"ؓ`GW {l[6 e3%a6R?1{GmMd`.f=w Q#4]~ 1%Fki#y0:i!ӟbbv;Q9γq3a>hm}' @ 666]h6 mJ)e P)>z]Hf{P3C: 㨻 .\p: ɜ0LlCf9 ,$i@h#ţaa?HAgd $PSzjQo#w F _\Ujn&¿CMF[FEtG 0*R0 s{.Ԥ+}KC3ԓic{@e vvL<:&EvIcn` sۓ6 y@7@ZmU3s lvp9^L}[.Z˦-ecVgp0Wq1ŵ7`"-S& ,1{J[:N'MYڔߒY-߻ݒ9̦-K,m꽊,h8勐C#C#O`_,HR";J00W݈_(vN``f/㰑f,06a1J&]1 \ 28 1Y)e7O\0 a6v}PǾ:CZzX;cM\1AZ&Q%ۉ*RM S .>/ؙ3 Wʴ%Dw)3ap+ܿ /xX9<`(Ep 4҉\|+I-|_2ĎOz#Yىk0۹8ʆ5 g[&lvff ZHcIc?y1M6\l\P ( yO@.t(eMV4Lp*zO싶94~|Ɖœ1sՉOR!K~L't]{Ϳd`4nӴ94ՌGrRT~(̤j(<_'r 4'8[#NV:!'4YVݍCN PzF^r&Ȧ|o ilFrnF@e ϗ5W*& ]w. k`޹G{k;ἅ{SDsY4o^Q}6Ss/n|]w {[@S-t-M:6nnT7YeukuӎrY[a9؞p'Aoܴqn޺*>ɫ_%c;MvïCvA܉J@yЮۈ3pPd-܏!Mz) MGqCAUJ$ K>mI \!2TKnPp T!^nI'# sv_T#XqkTLX@ _oht "ݱ\ޫV>ZfEWy-7tG-sE/^zhq smm~4<+Ak1 lV-{&`݇dc8Qj鮰Uˀ' ͵_&st`W‰:1J<>'3~[3(JP*v̷FԪIK$#%磮2 0FnF$$Mi VF|<:-ivG745}Jc=JFN|?4z oqg2a(+HMS۹y(%aoa|!$r"4 ,"; 6wV6HdUZ2r\yoθ JJ}}Zakւj?r4^4]p6s_%)`ߟ*$]C1]{+$L},$[BS"m6[C$[ɎHØHQDK'引db {%ݽ6g2׆ý)n uڃ\yZJof0z1Ep;nmW`(!EWf3.O1۽[w -4xtnE>9a Dpw%x~XӚ[}gJ1i5*>5e>8 \~ax| &6s)JRͥ(KSJ?2A.RҔ1,O/Dm FKȔ-Q.aȔJ UkF18!Rj (Cd,Oq6Ǐ\bs|,DR~ӨG #2jY> ]Qjsg;%*m;i/&]4K.M,%Û<}&FזV' H(e20,7հFU@8KKM 89{Bc㳴Fu#: x2F'/G I, j ?6YPkB>WO |Nj>|1F0A?B]1tb>E)zMF;(oׁ|Obb׮V͵Z;ܢ=K.i#)h4;eiLAsUY O'>onL',ܶvF؟#ߣ k*12h]dOEaTJ j'V WP\!EYWt0fG?߇" Ļ_eΧ8Z=\VWl(˂z>6Ln/} e4=}vH{j~ e)(ۢvwoSDJy<U Tfsdv gL/5u~(kG%B}tJGU8z-Š)`\1cP"V x[BU|xGLN":fxON-,`?Ci<L vί!wGOX3nFAEF@̷qBqLA#n0|)S]CSo^xH5a ^ax^\&gd)g+,!L竩j^UJSpFW;=~|ʓJGNx d"_(> n0wUS9vѩY&F;2LZ#RQKe WT$7`V$iHU\!L 7ݮ8b4iX)dd\S`2EF.Zt<$ʊ?PnXzO@ܬ|>b?|LG#ІE0tԗ_[De1+q!iKJظgͨ Rkj/ m~%xCI{P\s"Z1 A;|*x6u:]Ӷ,WYQeIM[G=}ɶW&{U,AC޲D)RԾe4 ښ WCې#ȼkad*W8YL}/KTiޭoyȵãӅ9-s]#roj ͇ fm oXÅHG I͜ xq9S[,~'v^{Ͼ7,m^[ n\'y=m-\H-h͏7ƋrgU%VlMnYe8 ]U]yɒ_.dlgu&M?*Џ~w9j<9b(5J!Q!s{{Q Zt4s583Brl]1?fv?OۯS~{z7$TMÜtJN<͘7hLaFUab|Tؤ9-B g@pNB:(d(WԙOIft;pӴk}z UQ8Pq̭< <4TL],t$jRՐjl7ȃȷѱf>%F#i -tKvMC?IuxآPOqڪx-ɻ;_R$ބךJfA-e,TSbT~n+x'I&)gÂkLl*j9G& JC'"BFDWh0۝)8f @Ҹ^Z)B)JQNA:4ZO`Є"X(+2Hi,gQ12'ϣ=bh{ϥykwV{9FR;h`T~Eew0C%nLK^Dʳ&BU=(ȏC?L*GRi܅V59Hh5D1Ú^[:*C%Xѳp#6UA38± 4=1rh,׏Cϩk R&Qvܠ{NʺVQ krs' D߁:.Qd{){zDX&!I:}n'ɤ֔ƍe%}M*8R6n"Ox\vry}do u P Ϊnr*Bf/n[ѹXKҊ\JGYjX|xwըoz`i}CeA~&fg 5 ,V@Qy0lEZ.J6k볨k@T`ٳ/ڽev ]?mNn~`wNx3 pH:S%},kLBUg5C*Mcʼߢ9.Qǧ4B1TgJw]D3}J ÎH c׉fl~zmj(ѦILI͌JshW?v?b`Vٷ>{%7rs?Ǟ{xaeyNO^ǜgVfPp5@Tgp)"!Αx:O\xx>*B-5J/ έO͜8q; lil!'Vr3/"80 7KG`[qP#G) t3'J(̟LAgX4pV5V%/XWdY ߃,9U>}X6V6 E'7[r)EsߏgRhÀ3SB1PCX*.01*v̭ 6c7&GHPXP  O#$*T;ge)9˛<`|Wb/ֲ?\D8y8a*4u'5Ġ!!q#X-xJ|D#<$k5Ji@K >,϶zy8m*OA% ϙ`_yV54Y7\JaQ vIhBGb3KޭK^/B? P1t`qWrm9inl%A5xbTRKAĔWP(J}x5ҲqKyG{m@_1<a-[$R~/Щ+{7lC]-#0{?žkim%KgR6NArqǨ+@8%n dCgb+E'1MoW : O;*눼5\5{ pQJQV88k뗕SE,(Z܉Ľ&!뾒AvzJη,,TJLMLA`Mzlet*.M9ZǓX (GpKPvrTƯҕXnZT +@'(°nQeT1M֩i6jnʠnVF?b1%>g]&0 y$EMY=s5M8}-AWp ʌ&(Rn25HT4?ʼn0i(Α!VNdQ*ӞLU'NNBpl9m yE7h쑚Eq9MfmgxyyrЃb:K|eDPᮓ-NR9KlLD6O& px~ቶs!=x֢Y;\b*2R7Kj &YhFH;BκHy˯5]gtQHǎp\(ӖKKأp)s@ʔ-@=~tբӜ,t)I@+pZ#Jv`v.֒tZ*o&+FogoNpp ҝObQx1x %W+3Ut/ȾHƀ$p Ə9FviV)q9OzwNf(VZES$L @׸(=ȷANrRdVJ]0R% 42^Pk`M uPt)WQl׫BPܙ;M9p=FC:guME I_a0.n]Fd+%)V]?),<hmaIڷ8b]W[h Z[/*k.8Wx(a.eK&u"A*VI%@,+b_M%4U?xȗCMmհ  {*R=; WUmQօwդ@*NyOHLeSnˡ̈́uN{+h 0ghyER/Ich)y(g'efhR@pvJBo& /q8*QU&yC$ jl^&ʢ09$E܈6yu`jl-F" )Pi .aNj!ΔI@^!OmXHഅPrE*6Eӭ޳GX7 ޣbn=v&xe99}Y?*y t]aO(ϧ7?ӊg8jV8_Z[14/3ջpw.ٳ6u#^#L%(4uPvr:al\gyo`7PUan9nAզ!^{v|4!^wLLv>Ę|,\nj3թi@gp0a~(ϔ;>XOj.*rfC!:x@{7omwޭf/w?k!-y#W.)Wq 7úr ?\]?\WN=9sva&>^ܟ'Dw e0ԲnD3tK`Lok 6/u}Q펖]j ?oOyVL3c a6c~UǛs{>꙽^[G.?\=+q~"y£3I&`CXMdUŊ6[2O'ΤN=bƮx+IeLa{Dgw羔،Cg^? T$`b S׃Kӧv¨<+ySګ`$&O'9'wT}+Y1>6%HZ +!$ S uI4kܨk !͏n/“GJP?Y.f T[M<-Qo]FjVH:6Ep^JhLyiic<k5+#@[ x-ZQ kT/~4nє7CM8P3w@fe787 I5`jI͹!i_AJqnux)"j}&%Rϒ i6 >AH:LJYƧy6%4˩GD dPxɓu4MŬ\lqtnd<(>O*iin*e"oKQ9d5'pFhr.HU5s0'4M Q+ tQaOEÂOk0j?X? rБ7t-NB>%W+S(4Ha&ɎB֯-& >>OB>lt.VeI|"]]o[mnO^o̅mw{P>!rDsET>{*Ɏfz7ib3lnݵIr9b(VCH>5{ ]HMW$l4zbfCwn *tV:;*ҖHĕKܖa ́[]6㎍A-9NJ c :+];=~[/z)j̼M˦94Nu4 p-x]n+s0 h'vgV*t4Z Szu}2ĠTb|.ڦ.#h5$m7p%yT~j?GVGzjN(#is#G&F^ 03 F R%0P/c h E/1x[/Q%W0o[J{mPbNV}X](J|/S_jސͷ=p9w%T"^n2t ߱1>|B" 1Z2hg+H'|%i$1X˔j$9do6dM's1L^໌"$Q*DOTҍI̮,qՆ/d=ڭL0/d:U~*{ &qwҶܤO"\}d{MD/ё QwAGPƝKZQuxVd;%~Snp+NZ Ptv-\}< IyLT »p mA QM(,2f_D+1^LxqKq1XnPP9_ʘ$^KU.8&M}8*i! r}c4C#r+|pE!ï?^cOz( k.͗CƠ!H4塚XPz/kTA1 lЖ[Ɍuto1`-KdV|I_cQ}e XCD^7nWN%U;a1vI&iP$RG9l^bD\NETbU&"&~ ^8^p7NZlrdQ;`s6rەUEK>ZI'0f %,CFrpT\oYA(HEYfFI`H sP#P 񓤵}ߣY -73 6GdJQU])[\uڼcFO^ m0lzۀO?'5dr.=\'U ©t!V0̎1(kp58eL΢TC OԀR"SC!KedxLqPhdҙ{Ω΢,ꏉSJN]hgwU\kNn$oN쩩'A<^;[~(ع; /*(?<=}m>OL /*"DEdz xgresi3PnxO&ݡ%mIY<ǀ=('@ sf65 ]#ӭD>d.cF[3t2{5]cko