/** * 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}" U%G.nmKm%{$$ s#e?aq?_؈K<{ZT$2#"##"#lߊ={h.5,>{L,x<}T=ڥW5{PoblK:45sbzd1;u -qyM[|6-8N2p޾yh;Ͼ1~ts#m;(o0{\ekF@Ƴbdv:c9 _JߎBQֳ%ҝ%s=9eiO_>u[ߟ\;APA{YĚb[3=k\AT@(=_qlr<_[WO?ۙgNܱ,Ԃu44 d2_(TtP.v`cnC@1X,v|Fﯖ.\z%Kw<\jS5Y|v>8vy"w]IϧvZ9&}Sjw-WCS֬ڷo7n!A@{? -^;}!fe~j&6bQֹn>G_^p~j\wjEqCѸnX DwsI- ~ϭn4&3`T.3_ (^a01T7HwWauޚM8@;;4F3AG45i$Al\}kF$ep HTmyD6D0O=Z{6~Jfܘ}JLð EImkiZggE)ZThxLY~O{CT5?,W*J̍F P7Niicj 3Ucz1`ŭ(yMgFi3ނy{qmP*6s>kuJ lmTkF㟄F6TZGkxmEŃhkr~cNK['q׾ݹp?0gqa6ł_8+ɧ>&`dR/ tf[5jm 8TͼM?R72 NjLVRerJmb7u"(ҼUiųTW/^/)}TXU+FZG;`4p^hʭ7~_Jph&Jf;^$ `D#:hPi8f?3ЏTo(XQK=l418 @v -H?K߱A}o)4Veت{c.'g4!8E-ȫ2XuVI3Cqs@GKpM ovۉ0$:D#홳D0/mh_J |,×'eV=Xpx'-cF*ՙ̡n6aC W%ULB8ƒd,2O;G)o]3 Y&hktVm",XGڒC:>y<j6sr*$Z1.GA@, !y0jkwwVdb%sg%љ{u1=hv OvgPf0 &'c'Z5 62j/fN\ ^Xo8ٰޥsy aLnzn2'ln74 uԆM&#+P}8iELIԏݙY`qoQ;HŪ~Ck;`t7`_:¬E| SV4;a4NC3ca7G(5aﻈs¥N,L;{\1qrXKˀ^O -cި9>`pIoPz0P71{V`#%W{0A[A? (᧡S%90Q;.by(tujX#9ޑI(q`F{(EQatLE :]쎹W q&p<@; K-6zY;>D7^ /T>U^g3U*38kj"=S& ,vJYkeBVKUUzPy;j 2wUBn;QeU-cPQ]<  2 ?4?MM̲m ѯQѺ5 sUۭ$Fn ZuͬbGgA kMT|M}D qY &$ݜI;uʁM<)7`e EY`] `F1 cdkv2s(-\xmkQg΂tY-ED` : ǪLu5a^W*1Sn$#C*|߾Aݵ%8ә˯@o8P_Z.KNJD'V@*`! ~ueiOo1xRAYS19$EzέrO ՂY⺍5n֒k,88KDQ6Vl!JR Q)a/l&+7B6;QwMv.tAyNan`re`@2V-q/ebpd U}@;D g^TEl6Z7V ,J&\1n\KbDkv]TClqPqq :i>EwzZ-g[̵p QiuݬtFC`X_K siZ@maKWnVWGu+`dWկUuʶqE;UʋB/5[C.7&-"kۂ- W hRQ|rU[ 9>~qْ`{ٝD|5;بm,׽E6];>'|3 \ywۺ;?ꁶ`~awuu硺ͺVݹ+ۨ;jE_Z}a{tCqƅxL*u_CWJow_5V킸+{gv [xqCHFf ?:]V(DWw-^jx|mJk8\Zt"gN.?w]?}[S hKP*vw[F[!H ~8SRI|@xK$LC $[BS"k;C$Y鎨HǜHaD+'缓dr$ TΚ?0Sd 7{mINgJ2ҚBH t1$[P׷+0ӣ+qtN'3;w)/ xwn7EG=!90Cst"XUl֬!ꗈ ϟs|Nj?zNgM0/ae><&I)fMF ;(6hׁzbbn tԶbu`;C%p8\UQ;^Y&De*KaD769(6MzJ0L"m{o~_9=Jһ%GHDc냱IT>v!/ދꇁ%4i,2*iC}ȣHxk㟧gZyٵ9r-_/ 8eaS ):JCc8X`۝Ѧ/Aa \7Sn Eߕٿ{#`}QڙcR<Ϙŧ`u_2hx)1X*"uCȚ;.~Lȵ;ǫB}E؉ͮ ˵c |Q7ph7k ^U:4r8щBJ_N QS?+'/ ƀ7?"DXfd,|)gBKcSM &11(%?䱵H;p"~F `HrWR _~2L0 Nm~p8sѻUפ9hg/רH̖M94NM[|%%2\5Z8}f Be[ 9hZ.3fx6tTfe-T EE%Ćn,4 V>4rU^?Kv:pCn v0t"SBvIytQtU\\+ac1.Jnh@n;g!/> Jǃ2%)!j$, XFt,gD!Mf;DebOfjLyoLw|yqB]dB۱uD5ِ#ވ6agd+dh&$)-N֪qx2q7+缥t=*n,NA<R #A`y;cu4Ec0]H]Q 'p#Ǹ@mDߋ&ޥkb:HcZ>M{m%m}ve;q a_V=z#vee-EYMk8fwQVcz2Tuo=ј3idǙjX,u|Yaŗ0 қSX9ȧI-{ 格!CQg9wk~nZVΰvR1j.LZLD։Xaq̬8;~T,=+tjBBԑɣwgwa eH[j?LkRUUU*Xn e?䲸ZGՈO0?P{j;XIrZX/[;{Ewp*Ni/DU쯩[H:1N83 o^oVGu!5x&q+\#gI~t.n{_h3Tl.4SڮD;hkYhx1 N.\ksB^ϗT-D&5%Xd|Gh:*}'oG;ү}3W{[bK}y['O7IP-}\phӵ!),~I`rڔ[k0m.}W9j7AMt_$rX礵 'EPwٚ?ҳK-Z0v=#d1m^59htA+q3 dR=M$ֈP* -Ex gZbvi F>`!y'h_ ζGR%FPi?.X,eca'W0&ݏ !&#r4DP.s'FHd/Z)”A+}{-JB;B= #6` bpcE3b.C|f;U"m=K1?co*[ߙ`(.aOÁщ=+]h%q (HB02uʑ)4@\_!Y(HUbOp?hxxG5׹{M=ojY,n!.P[P.]i!=p+iud?T200a@+ҌY]Te2.##Kiy &妡t@`h|QCQTRnRoE4h,aRp PD<0<\F[J8=k d=T>`M& @ )LBvH5A ,Ʒjs\3oEvR]1fKJhq gɷ)jٛOx^zۉ' hN O mvyWhHHffd P0B@cEj<*Šy44Jt enZɂJqhPUQO嚚+rPeTlm 1#$G]N { 0$, RN%A,OpRJ),3L-QU|t|Y H˯tK:3_pY-:de2n'Ipe8ؑU^!o]>:*0yQZ&| ; ɨϾ=ɛf*:fO  +pvЇ]炒[ϙҘ6ܝ?:L%|?M3NT߿9Eg:EI,RtMB%(}32zi'< ,4Ijz4Sey_8ڨko=)h Os&Aj/x$i TUk9-MRj8+ "0l0= N,%S$Q-d @abkpf|qIۻP}L -15d@pGPr,LDxW3`Klnkd:-}K2, WhCiM,ijP`DFcBa, P;Q;p'C"EB񄷆`}؂1ƶ.rɃY^\uEdĻ"˙` YS BZ8uLa(rGY]$ >]KĘxg >kiUfyJqQ8d<o&BS xޱD ZW0-|tx.pwPtu ː>pbn̔ 'MgX!"l`jSr H  G|QC5yse)_-.a>!2_C,VxE=5V|^:xa0E%CFW'\h!12fZ'/8 i|O=Eo-t.\חwJyEArkŴZ4/ńNݷ\2_Pz1d{M?Q6feP*/ Jh9 g ]ݾv/ͮЇn nmY XBPcCWY]I[LVEKviAo#@wQYFZ]p Id{I~ziqkzbbq-XÅ<[DW'bdѹ΂Xqu.dL nvc# pF/L X=ȧ?\.E_rHQO R􉤊\ыhpW VN!_#Ge';}bW8[)*"k@5t[)K!N_1c,I9u.X^EX&8GbOȑq$^7_IG"Qf7ڨOH,J d!3Mj#Τ3@/)ONǔ<=e=%te5m Cl Cfְm&a[,ۿAqNbM6Z? ([8}'뾧ņcfĴEFm}LfCj~U0Ve&4ɯ~ 0 dI." eHoui@y gx؍w̮9vʙ6+pPEۥ /e~3yx-(d27kFb.wܕ,RE,M:>+½&U6nh 66Nx7d3kWTD[kywOQ5MtMH5Rѷ}c`J^ &.=vTT}es!LU5kvzXk'۠A˝1vxL'$;݁N;Eҍb?zvP"Zx#(AL?prRvAla}`!=QfYrO_1)Z~z-EM5 rQTʦ>@]p^4}CC%>@C( 3?WЪz]ЫNWs<*Qz6"&D/&trG/vW.Y" A<)2|#͔ZZLS83q|!?,}ڇd"opXY{4A Ia9a()1hbw䁄lmSԆ:0H䋝 W&W`;h ( 0wϔxw< "'n0ӘBp Q+6-qӢ_zwPÁAΨ`jUݶKt#+}0)ަFv,XLfpgKmR&:v͹ Pt Jg odk=* _NCZϮc yf;ӳ~ OŜҐFe NȀb MUjŽĬɊ^Koe;Ճ!(ds}grN|X3 ]H}l*Krƌu; $r?BrGrbN="9 $wJNZ'{g z0fc6P痀scQUo;-E;a~|55i$۾։˜#s\c%o=A@!?B+k~#e:U0{?6iH|;l3tj+GO YxQNG 4VI,qls18tFS Ҵ :#x2u@r׏6ah9Q4Wz7DKaO UUO6HSm׵#[Gެ2xT`nҢvw\i?:n2b2 wP^#%79UdZD{'U`tQ/EҖhe\ I8BK 0t[JJ//rm~1g'ե}TDLHKϭ~a7njG :EpfOV8Zh㼲[ҩnEQzgg cycFm&czjMۃi4g-sl`?*D x1=[}XUY $^6&5i !i_¸Cս *>8zILt%Q3V^B}uZf#g@ -G8QʦtFU=\ЈO`VeJf)U-ѹ K:X bDB C< &Tg/j'5יсIe:#kǝ@Ѐp92csh ~co :ƬѬMY blН*'ڟ6x l`ϧ6ѱkbsz6 tc'{Ӭh]_Z("?#x^k?ك V8gIXl0g) e  # HQ-e RS xJ1܈R ci+-: l^&[;.ҖJ.ĕ[ܕ:Ul; ߿(7GvwTp;Qydio ˜ CwY٬f1 a_!lul,Pύã'/EZ(jFite%ld 3h7$m?p)RyTTORj?vG~#`iv3xkN(iÑz'e 2LF %l__?qIrAp5p-S9@2@xt(HixT0-ĜQm)^TW,Rͷ=pϹpmk'˩[d(g3O{ r8~DX\M};E@鄏J^ZFcG[`(FrEC^/o햪٢RSME ,T4W$ ^!z~.0LT,Abr`M^ސd1tܯ8R 4<̩GC"7Id_Gx4y}\AW^O~865_rr{k롂mS:]0)˽\vN7C^\t[]_l8'0R1qҁR|ηI8D ދdY} _i2g);/3's0垦L fjKboba9Â4B6 o萻L M9L>T1GRԸlg>M vbŗ崈rΡ+4g-1ag`2vLwo_{|UCAJO9OW! }g_hP.NB(",/]Euq¨\>2 ye˷lgCI۽dd>J0]c[}6($L`/('c n. Z"x00i@Nr`=`fȹ$)AIN{ a3BYC%QOb|_2Mxo,e;.ǫ(л3^o,ǫwC.y+UTSr` 5 .RJ q`7Ř"5s'lW|HosO= ǚ᣼B.r"pLd 7YX,">O' "WՃWTNO:IwSR}