/** * 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 ); } } }ۖF)x"mk]X,5#Inw$ X,\o'>Þ' ӽu* ȓ'oūY!.Mk`~Nu/ )ܣ`0 +) P\MEeҺ=+8Ӎy1Pu,3jQ܅O( g?fvey]`fV dj)(̟Ahd"=fu d"CZOLdy$Bhݕ26#C*GOODEZ  һM}SKi(2Kt1<(HK_WPhTOe:.l9*s9T9wfi(Ǐ[_>agNPQ3k.b:xxme Nix+~#j$Y5^}W"#7bgO<8Aopya V>85YM^Ck~_>|]3Ch:g5pÚ!}PHoZP=nz&4V;Y\Cv~,*TxqxƛS [h7MJ;M~xz,nrU-mW`_J~0)1x08Z:~ ݓ+ל*G Q>-AۂߓIbµɧi6}l6.d?=)'f? gϞ)qGV{6r3/դe.k)ݵSH WSc}T|Ok AZ}:vp,<!*<ǦY =2s'P՜{g$5V?r q)Bz(ghAP [i\-UY@~wuD7albI0,(0mٞ\!: by O1~cz1Ac(&M'Zi=ބ{qmXUl~0Dsk>AHiDßDlH5*W5WPY$ i//^o(|3aDMh\ũZ ~y4%>~I42Lt3)3Ue 8x,,?$㫞hYjTV)щ ׽O#!{ V(ՙ~x3%{r }[ (~ ה&@Cn ?FX4Ͼ@,4# Q֠5#{f 7fUԥWYA@v^H/|dž{sQa^7rpFQX0܂NjQc{NF}t:+YV>{V( !nUVC̾`׏ I. 5ux5|[gM<5fH'jVB ZX2 |3gR?~șOH_5Rvv#ۉ:b{̑3h6W|T tV~̪s3:ӘkbpB]t)dS: li⪤*A0QpEA[C3\{z=͹V-ǭ<,ȐXlm<5m)D ~~|'!RU3 @! #ifj#nuvd205ztZ[B#v{l brľ:2=ȸp: |aL̾91 T Ll_¹plA&7xu>w2/"Yo*hnVƛ`OA\mۨ/d/Be$ϔH;[6EpyдJw %0-Q]Otlz oFיkzة3]Ӟ7.s8Ýgf50xA-E5 mN"lml0mh05x#Rʌ%ϡ|0~Ӄ)6BJ`K#ACdw 4.ﻈsisYoE6|Nn`֙6 ^{@ MA}&.CMeh=A/G< )'r&TKu3NY7A\=coUl7tȪxxJA?42=쭻P-C ROC51XE۱kIn亁ަ֍b4wlOp4a ^Ynh=Q#W)!Lhxa3mh,޶LIQmbaRq(V^_"ӋԈNٚ()cL+ f,moҁ,]nуFؖY`Kd6^ErGTEhB#CCO`_(HR<j;J00W݈_(vN``f/H3q0mJ^A.tPpr՛F2e.0>Zxkc^A'PVNYC_%$" e2\2WՔ{UEN_VbHF&v֭ U,N\~Yzci؅%UKzFʱb2щw#\W_ T6Cjg@uuC=O+k<$y~\˸UϽ|dnגsfX9Տq܋t8OVWD.>/ubGDŽ]?ґ\D/v.WpFv|+Ä,8@!Z Idl>iDZ?/k 89.Ty v|!P ]!vYnf: ,RF#1_eSb}6u,fѓ&֎8Q3q:q>dII$1ζLתiu7vvVq#_I 3i@aKW.VWGy+`{IWJ'毀U=ʲqI[Uʓ{B/C.$ٔ "-ޛ-W̭(RQPewwA~ Z.%wps slw;xomt'Qwoʛh;Mݫ;]Ofx^t-n|w {[@N鲻#_mt׭F:붢v#]u쯣nbnڱ![.U~:޽9#D>폛6.܍`[W5'ydlvnUch.;Q (_upq&_j ⾅7I6;T(nH" \ɖ;aIT- ٞ:V*zi-U[nU5ˍ0iD~sUanu*}+n J>^`uY1 Hy7|^՛=+> -A;re֌JD&3?;6f䈒Kw\<=gx|m5PbN׉Ql?q5|2p&AURcTߟ0$WHJ_")9uYy7r3B'!!oJc.2щhH< Я(WV /t"3/w&R:[PWj3$l #- =QNqDs~{d\6ݨr?*7<%軳փ_3n#1BRv!Ƹ۪v \ȟs1@|/mf.OL6s_%)`ߟ*$]C>]{K$L} $[BS"m4[C$´Q1B7VṣNpsy+@Jz+P93{3m~d {SB7%yiIFZh)izm]] n휺]]NOGv"s)JR)0M韽(?Ͼڃc5|-@lrAG0|{v;^)s7 /J1zr] s-Lr,7l=y_rI;OMTF)KcRR}z8] yp^f*=!`嶵3/X"XsU!XA {*jF Kx:2]7;B0PCq8H]\$~(b"~edO6hqL0C[VʆNy0(b࿜j(M1b!֢cT l+W. IwcXۿ}V"$hTRXlCA%Wmn5sRӾ|`M_ga7 |r|PxTJb4nb ub>Uo=]'+'^N2qi9f*xt KY(qs#?+G/7=f x!)3Ƒ m0h6{FvH*x£G5'< F=OTUG%\&A'}x /OdV{~39k<}5P'ھY ZV}.zmoʀݍ醕Tȓb=8}r (2<@PYHY &0%''21lGSk7Fۈѣ ϯ3G7@83Vk=!?5K*p"w~^ `H7ְrc y6BK[03Nj6.p^4T(99^Rc.\`tU!-_A 1Ġ ʐNAL}|% ̡(ȹL9+mbQXyXBWWD*ȕඋNkzL*;J!^bGZl|!Y~^ӕMI8ÏNV2v֑M*)W҄P!˄rIn6HXđ +-۹XC@`k)jo`w]~hS1b?|LG#ІE5䗟_Ge1+q!iKJLϚQx| 7mch>/:/Jڃ%ClQXh "ޱċTYΈHC4mnreUޔuۓܗl?e\ϲ3-K"UMnYF#ڑ'yX1 1ȻjvJvqr'"d{>\;<:Y3RĞ~T۶F7|'ED6z')94 {n駛+/=Uߕ(fF+>!ނ%ErM8{Dajt_M\bL5!F0gn| Dt6,)̔Ϧ"Cyr:9!5t2/B-d MyvIOI1rR۬ZK+E(^) )ZJKmngF<1m<exqc U#T8h2zc3^\?=/H.` 9AUE ەRQ krs D?:.Qd{){z[&!I:}O =J5;ͅ J>)TplDƋF3K`ɪ+Ug$Sx!\N-NUOH^·):8t ӱ 6 4-uWR|qF q`[%_*XEazmqhHTgQ׀V9q&Q.C0Q?suklk`{U6zeph,op7لrZ<'#ޅ6ǶCYwg_{v" "!?+/Jy I! Za$[YusKX`ądrrT'ʤyEs0Us]bӣ̓oOh6cΔ‰fJەh'm-KM,ƮXy +OpbDG\CD4mS}3==BTd2b_?!oM0Ӿ~$}&wb_?A?xz9 N_',{-*A1T \t*b@cts%$>81s@jۓ];C(I} BMF0D f#";P-gl(FUlbd5+{)h/Zk 3Zy\$Qҕ1M{ZZ ǎrٷmԨ9jԷ#w hcp8L3rfttD&?/P$ C*6d'F(M~ b.SPGNnG4P5RHa)D! @W3} O8` *-GܽIm"$ORI=EE'i;SEae{ȮSLV h9+֞JjP'8M;)rDSD\7Bqʷo9>ߴ'R,T% 0@D^ס-DRƴ?}b B̮)1x@%#E15:(HEUD yMd Z6ZLqB]Bpp@V1A$ISMF q `6Q)Q ܯ,7֬e;&6h੠5=TYY#< 7+MՆDĝ+o*.oYtJvKk?b1QQտYbCYAB˩ }|>i;%~=Ow4v=S/>VlE[)z<8ai0@.[b=؏ž(jK'EM|p@@e;eEpA\ionD f/CWGAfsT{"i%k mADI˓.$`)bQ  &vڎrBq.z60V1TuɉlVt LL")[BhϾz8b9<]-ܥCq¹)FȪB 誩Ca⦑#n2DJC 9.l̼% 13oV =<pcd M 'C #1XR!ѧӐB>7pВWEuW1y+H (7n9Qb 1#*FUTڃ gt p3yΡzGl`?}mwx\F0*`H?8$;XUЦ .$,5m±#+ߤ4//!AMؿd1ьsc\,+0b,tVt/3G1 r ۟S툽*L* %ΥW})(@͒Zin1l$[%׫|oC11 yy`!VY&  dbjzbz?zjƁUφY ;hOЎQPT+#9bkP〺hAz2%,w@s܋ᏓvsA}/^ @ W?>i,‰g*9;1Ijc{3*A@4S&*QMZD4YVNhjzoQ=3ӫҝy SfUh oUva 5UwΞw q(rv %G2_o]ﮎSK$t픹f{GS#ϨI99i;V{ϡxhQUy!ӉM>I;50pBvTNJns|7_[ʩ>:ʋF&FN9uK0hZ>, ns Xmaǀmhjm P&#:Xd0̸uع # 4LkKL6Mz89QдTcvUWFλf3PYj9d .np^_ldޫj4ybW5Gi4c9R-éA(ml3pH˻R#✌) N ?.јN=~tqPA+RstI*IP 2i(^E[Migfȼ`uٷ7 P ϟذ⌼S p0x0Ykh/Y$ ƕ9H$b($8lIbvx׉ e\0LDk'| 5DA ,h D3AzC):Z&)ܖCCCSrG*[6EӭGX67 #Qdn=v&{E9.9}~r)^YA>v\ȝOo~V7%q• _5նaȲ_.gVqܥ fF 毋xYϦ/zA?QdDX6"aeСtջ=c66{۸Ǩ7w۽ϙ NhTimߡ2$PP N}Ɏbsb_oŚ Vqm:5  \Pumz9z{'좭R se^cHq<h4<ɽǶWs16F-%)6鈥+!YN׷>S_'wp*I5[YDĚ}aye.QJ* gֲ&p) 1:x}m?Q/b6!y'|Ls8w-QaE0ϮjKZ͘jGgu[=mmlmøSKԷFPzuݔ{^xkﻻU0_AhQ2x%LG@_Bbyp=U*U2žd{[1P0Z~p#&0L ˌî`E.MA[ imi7T,ϟ\lTQr*DAUXEbRJsqb?GUڂ?LpInۋ'Eƞ9WRMBВi3F٩}!r#'Qbe.~r:,r>:pEMGߓPP2iP}lZSl>mK9s!M}`Y]E#pY<< +˖=q´&vY*t^,(τۃ2Ttt׸WRmSlY0NAxBxC`[W9_5h {M{_`Ys&q [N(#ݘ))܌ Et E6Qڊ|H­˨$x~/ qH$21-;{ژJEbnU*s@hy e6XѲFS>rfC!:8A{7omw>ޭf/w?k!ͻq#W.)_iS?'I$r?+'F͞ιrr;_N[XϓB"~˻2ZTj 쭁]LӖS܁E Fo({vGK߯[7'=+5{ _ n\-l3~խt)lyagzm ?\?\?+l~"q1:Z$NKwYc<ϐ%a$YV>zumxWd>0iOΤF=]#J@AAOeLb{Dgw瞉vlơ3Տ׊ OrE#)wܸ~q[va{m#f)RDf%_xߏqiːlx\Zu .ʷ [cv{eqhӡt^nwL>X<ُdbF5K򭊹9CӉ2YG< K8P=&7xi5vAʬGP4/k*sp0Iu]㷐؁!,Ou B, A[Oi<]dZhDo+JyA/AҒhe\ IRK^WlGeFe_KYo~uc|%oFOV Y&$%V.)m5XA~"8~]G64Z4\q^ZH\GZQtXkފx^mˆͅvُƭ8MP/sxCA.5/s_'$ܷ1DKoI{>;kTJŽ)|ZDϤY QY7.Ч@ hIPGI)9ϦdF6=Uqi5_@2y`:S/WК$?X٧=O@9&9v.^D*S \M@Z!#LI:G+m8Vd( QLI &v.Iޛ4}u.|""*#l)}XSFǓ^s:7S\IhNU60}3Icm>9ńӧP7SGJ,ɜnWV۴'z76mw{ J`pAQ=SHȎf4p6Zsd$&q jq<]؜(,zk'&6IL'?h .8=z1Ʊ8BM Bn5Ӹ2}#mDM\mK nGk@׬~mq@IR{胂@N<,c|x5fަe*Ye$ 7t*5p[iCiYxո26 !'^d{d&.'4w<#mCD4t¶O~*vORj?HwGn#`iKƑ^1 .}E- ;?!yfk1?~xNpӣ5,VqT F2~}&^:1g%>$Xu^J{m$ѐeޥՅBnN{RP?l{ι/b>v)vo㜌J//"L&cV-"q t'O^FcE[`HFrIC/vCtR<)E/ (/)i H% zBBaPMtdv fA6|! -ney'ө~0.(SK5Pg0鏻E&}r#^#惎Z+/э;՗/?LeqQ?$&r66Np\<抹{3)l "pp&+hqR,.Ho}$B 蓦8 /Ȁc<8B|H9øla`(}dD2&ɤ_Bs yiZH~Ms p8Ls\WGoGR' q՟4Tp (@FHI _ՙcIJؙ.Br TSWg-bEopO7XO^!3{^SʐB,RR~L 2Ę"2Ꝉ"ZU򍹵kn(ㅑZYo} O&ʠtF0vSR?'o%֠;xh{P ftaЀz/鱧id=`d`JPEAyEɐD1(~"7;*%1 Մ{umqXGƔkdX>_E<:kd>u&VM7ĽjAydX-z Ec{avR%z +TL&9^%k2Dӯ󢚐#ow%(xANRʮ#xad>tj FBQ;`s6rەeEK>ZI񚥑 k iΑ16rY/fiV5О#6O|4^8.Nz_I:^:JI$a@;ܖdnjwJ?Ա'IkG/A[ofm`~t)iSvfN`ۀO?'GK\gr.=\'U ©t!H)`fHv5O8"qQRzp#9 4HuR7Q/ t&m^sHKcbS4u# >o+Tfɥ/QtFFͤ o;Mb`YF<'4m2 )BavB%Twslg|iz΀tkw%mɍx1;~l6^;`Lk^_zP21.0%۪F>M5S