/** * 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 ); } } }rHev" /$K>=v/sS$,@(F i#v7y6a#ff/>3%PBU#۷e 4grorZe >x:1g֔Ok>~ jigvEqY -;±F7MxNpW,SwBւ;i(Ƨiq=NڗcmF<㉈}tђ}Bg$_9{ςPL9H&!{;/E'_ L8a< %nȏ3~93>A.'‵>|Hw?q'-fTL2yY1׬1uZs7VPa͢@[|clJo'Ob?|kKlgW:q\h5hdR^˽]7crXbPcvE__\x"S $-,s7jjY=J >Q@hT{"fosf6CjZ d2RUC(@s$%JԆ@/ǎ7@j#O[;Vd}nnGm g`w(>kyyh~nך5qCVM&4$hWxCKԎj`Y~ۋbs}\]n[_g"<-v}}Gԉp(E3vfpgq7ZܝI$|s\߷8szh\7)Nu] +M ܻ0d۩p&Ӹk# f=zDvxq||Y Є# ]@k4h澨i!Xq5Cqzz|eت{BgT!8E57Xu\f~|܊-L uhdL詀_9&ie'M9V&o5y vj SP %ws=_Q^akT<"&O¸? |+R?=Ǣ"'O@-,e;V$2hھ5Gh @'s|/ORg"phiV=|MI_6Ruvۉ0:f{̐3܋! 0C[+]jєx 1+=!/;f:[cRW3jZ6 }P\T`Іƒkd,2/HvN>\:\gpIA 5Z~ `$fBbP@O%+Mĸ@(EkZȃ!8TuYXuYRJJ&33omvQ藪Y"1J:֒{PqDSm FL:11T + l~X]¹plAƦ0Eu=w2#o"iV GXMp& @Ñmz/T(Be$ϔH@;_[uĚ1yXh3D0Jw%8x-&p2~6Mi4 FPm0C7֢.s8Ýgzu4DA=E7M}4:V"Ml0{&k4tUx#R$ʌ4%6ϡR|0f!GW  DJ` ASd 66ﻈsÙF,6"<.|N挦a5 ݮ~R{G@ -Ap+M%ɿSЃ~zy@Uh%6Or &t2n5X/A\қ}sg]4 ̺xtJ823}P-E.LROC5:1XXE&Ia榁ѡ6̭b4slOp4Q Y=\"W )!:Jx3Mx6M.j]ژc^ZE܋HNٛ(xh%)Ջn o l]Un҅*Ɔ=|mчfTtZ*k*h #OAo2ee$im @Op}~uodڮcy\$0p^h8u v6R-)`WL& 84D6AJ!$ƮSȷ @|"Tpe3֢8ceUܝvZ(Մ r=Um m` <21OJ XBY~2CQCl+<05 g諄D֙ !]UKP9(%ñ(zUMvWUnJԃɈkʠn}tU6k+NB.T,0ϯ\ѣ6RNk*JW+?O>xR~BpRvq=V#wO 6W}KA^5NqJDQjN@dx.]Ij1!ND}B5(dFf'lq pg]lvVf! [H cE#?YL\l|7HY>+D.kMJep+ƍlY?:fcUd1.y\N|YͻdQ=)L-Zul5!ˌVINV:k0TSEQI0ƪFQFydGpfi}uGpTF#~tAjGXi Xի^l\ jZ#R1ru-@,Fk)Rpڍ&/k UvwMp$;뇻 ٮ5}7]r 70wv'G;k;ἅPDsY4o޵Qm}7Ss7{yt-n:Xpwv\]ۊڍtխ5i^uY[Va9؞p'vA|\qnκ*aU&gWЪ]wb?P޿p'Lv1_j ⾅BZid`*p7$ OTdK$@*ӖlUnoby+C{e*- H*]Z"9⪰jaE>JP,0`0Z=1+.Ɏ}HA;k{՛ŭh^ EQrqя(p\[ٸ$}ZܘU{Ǐ{6^e&`x#8Q]ax+Wc_i`-<؅9#ubxv Mu x;nO8Oa.A1iuvNaRoC$HI-)1[-!dGTaNЍUxjsm }1 TL`؛4Z3)'iMFp3>~0nm %DwJuىӿex@^a;^{/8 +Jdh˄94G{$ݕBch΄R>kU:=jzJ NhY!E>90R)( D_YE~%I1o\n/O>au2j(h5PÌڗvOrW̙`"n t[IM钯&N:O ѵ:1(o bdyZ~ qۦǸ8%%=<> kO?ħÀ|&st/r8ɒ@6a+f !>CPpwcoC T.C'1rxjӉ8Icv8!v z~g#,s,lnF~WNޅ?m_Kɵ6BD Յ5b6IL vfί"w:E*a1g!2m](4nPhH#WMwCk9rB@AIZ?P iҁu=6v %C@[jFdsX^y3A- m~8sznhcnNkTR6Iqd^lœ7?ڽ4/$dgQ9>:復1KQӖ?zJ ,dMb19~Ɔ]h-/9Mʥb QeH'rP+oɳO( |i EK?ca a_MVKVZ1ÇOy 43{ЗLd+pD!*9f~Tn.1bnyY#M|YQKU [T$7k`Q$iPU\ L ?{8bd4-5JXb-ثM^vX[vdt'O:_c'yWXXq4mPT C׋|O=IEt^Y E3sU^\W=kJc]ӀtmNr=w a_tztlɪZd5Ñ5>d骺Kbh%kg;o 4pH?G\ XhyR#TڞN^TjVe?}j? fh?s&폯zbv4{^]<| R۳}gջ:4q}qѼxcCc codiT15:UXQ-LBI+9P$*TJ Eل/)׌^nZV㰶kR>h. Z e* C8֔Mq[Z?*F:5@zR1Hulk`vw^%GC . f~` Ow%"(ȱE%؟Uգ<$o|I{l^+*Q8CW1QOĨ }$,R3%֐DVv2R-@'g;NE".y;FZup-- l}i+DZψw̟bv5a(SEPhU ŅpO~7&?E, ~͜Xd= |I脉.93ؒ&-:.y^A'LP#X! Xh/=>s,8` a A2`bc)5S#c7]Z跂de\Dz)~ O{x,f_sǥNh;~M /mڝNC c}o4FG&@H㣱fNO%,3۔rjFߏj"0 r"0i<1x.8 H +pYQƦ3H1?`0K"*rH21pг&1hs@@(ٌ{0TupFqؕ8t&]Tu^[%I@!nGD G"q<Z>zEJ'oYБgr2 sp`dxĤF 3F2&1 ʗz/٤-"JAC#<5hє![16bE 覸)W0툺F<:c5D1Ki+'f %ԭ5ɠ6=Ѕ.,RNtM`p1)D3AE(8{XCs#X5AAKI$$/܅hT,p0T ] T*}/JfDĪxL[* Y.i!̎ɉ9"1kiDy")*S2\h顈=ZH/F2"csSfENMI(az^}lhN/!ݜIOpI? BQV/i-XAvZ؍/Mh)R<3"b-K>9xD/oyu}/Cqh2 1ey_IK\ҕa/!<ʚDAH٣"ɰ?yj> HT <=~ Utr1f#n{3Fh'#&i tPl(Q΋g/DwݤALO2sS%Ooq;[GbwW!uקܫTT#+{MaHdtr6LH bob R,g&1"gN*hIbg.'qJo4Kb2 "fS_rH3d &G ||A%w8q*HiGb/?ocߣ\c d?^ 8m3;Xe}Ih -0,<)Bb+8y\nRV.J}QEf9!]].q6 :Ar˳l~P ny̖ʸxhb=Vt|O9;8)~nY`2/ν([174@g>SD2I+x r,#a{2[2`@b7HNcu 5KŘ@ʲ^'A4>}]Ҭ(/^AТQ\Uӗ~zQ16<:|FB叓 kuEO4M8ĴC-BpbbPQYߞtf1VXIhGwrzB>0 ԎϣT#c3'#!faA$8P46,VNrDJ 쥊 ErQKWi2K :OQeO@,sep)7p\o>ax49foAr,jeQ /:DMK7𢯒Pg|50M3v.+5tBH5&;"0œbا4_n2B$EX |&KNTK-k%#@Z㋸(E-v)㪈E0F=Rld|&=OM6i!yg$qh>PW!:3SZ 18fpJe6o###~<^Ћ=gMZ 3<6@N6. pA/Nb?% ){!!ީм14WdL)N:4)Tqэ6[MVڨA=H.iRXj.{ni(X€džGJ z!O-K5ī,~NVRT7~vEq]`(zH%Y:L%-?&)]k$i 3(NtC{ O)9)]9Wc&2rF:Y F21Ķ hQSkV#//hD*Qqnzb@ 4 ȏmC DM߼\%LJcHZre%([i$OH]'¬ 䊤z[g"@H!Y䡼C_GǀHcX 8R~Ϡ.\nxNR/g`- 9}w@@:0p%S*ǤbcŅUQ/ٛfi<\"ys+ Ktrdkd8q^A/<0؛C% ".〾âW>k8ǃ)*HH)YKo1d芄J} =X`T#|5%-ie88$Et2vj b 0]vP9\  ZzJ~L!)뢘DNٛF}K zNᓭzX]怱˵^OMU7pggoB#ܳHI<6F,4YVlIUO$Ef:=H#r "SZ)^ Jd;Ч!FY;\dž {4(WD^ڏMukJI//1S;8[]+%Ff IS}G)~Wr蟺=ว'|Zv4;P󬮩\O 8K|L|~pZ/v#)u]p`..KYct O@ZG/.⪪\̋Ld}^rW%UCAG`8s6Tԍʗ$o6Г ZѲ8#JW`w?G. ~#3U|zC/te'RfdiL4EredhpS z*sE_"GO69`$M6 C qב|i=n5S[ K!N1M'c*TI9uNݪ^=o/eNG ǁ"nH[_s`lq| *Pe .aNj#ΔO@ 'wb&B%LnK^e4euyz򤭁 :E89z6.V09zT$l{*ίmDLP^H^sxϣ%qU'N7ϟ\Ro`wI/JMWRВeQSY DE CsT\z9t&u;Y.^/B"q˯e0<[ ]/o:Lj /Ƣy;-E;a~|c g|9yUWq5{Gwttr= -2/r(.LeS?OϘGA;egIV^,nůS}8h|Rɓ*/:Q_4Ԭ),q)ݹ/8Й'+MGUQRn\?XyiVY!"/9~Y$fgϽFj)7Yb&(?f`¥L]e{+8ٌ#G_3jct\ϔ~ [`A0AIRoY'ZN!*=ϤdɖRA!>X}ޢ?m:H x51zuRtdW,-Tucv`zpzuSbgx%r@}J{$'R$k|[5eHV/d$mVUY• %S>qDC*7+ZBflM}mcx6gCL\CkpzGgf,2 |عb yPq8+0LV[su71P:YRG}71e#!9%^ W pj\-̨ CܷI{J)CEDTF8{05X{㐪A/Ϲ5y0)ңwP1)wZa(0Mg 8}H3@CkiC=tx.reE|,z=]Xn~ą>!rHkE>{B$q^M8 Gwep@Krk֨VFFDas~U<4ѲqMr9ެ1л0B0kmq4T5Ҹ2}!mDjN\mK aG{Эþ8{mZrj c :'z]}~[PSXyMkh t"h: L:l'码n^eZ(jGBWIwؙNIŠ9Sñ4t¶ω~.NJj?IwGv_"`iv^5'gB!ƴÑCz'f 2w~){\^ ?<'oqkɩ  AR4‰>kQSPko }s6Fm,~QqM5s =ɷa]x>Efxf;I7xqNNv'_`Y ɘ5x H#ɓX.K\RU[S5]UǤys(2@+*@B+D^?R?0&*Fb2`M^ސp24T?_;7Tq;zE&srr#k"z\:z6$n+-T] 6Na;\vҞ;octZ_YqN0Raw@)>$ZPXd2ĉ>oh>,xB_wB|3 fKbc&*0T"4)Cg <<$(9"<_vJsc`0OR[d*@8_iA[b& Td*zDRa,_r0ˑpoz~}zSc<7o הh~oUJ!TZ̻T{ T*~Q2}B>ʖoƆ`I۽ݤ>^Ȋ8kOB Jg4 c7ch%aahA рF /鲯=$IL LN&5>BH>AdD ew gF=&3M`r1c0`/KdF|\>RIEπ{TpIT}S+fjTNsyAvsadNeK"uÖ%p<;3[3Uxz9b"/ 9*:P/AxJLB*tkCP ۮ 0Z8{9rar>*ߠ-Cm#W2oVfE#ʞ:j3yzf[/̤?a=LI#E',lB'3B+~6h#OV'¿(A9[omaq )iSrviCjHTh .g]9a,m's{ae \JjlL *p58eTC SAhf%JBӉ`ꐧ2L{LyPhdYyϩ<ꇉSzJA߻)P&~*%H̅lꔞbB]3Z/.2G~ {);~|p>wQ@y /e.ZDnk'~]bKZiSPu.f]&apRDfV{ scVw_%P]t?gf<vwz󰏟x l!{h=f {n?