/** * 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 ); } } rH l:nwRwոTڞˮr' $IX  %Z~z~?9_rZ $@nwOCDʕ+=/8z 'Yܚ&3|Lk&|j<}z̶oz&ԌzwmM≠o/g>zxx$ֻXځBCC3n\n$]"GChV۹|h5~@FLK< 4$hLO]kW5S0uԬL͋O]cL0 /<:4Ni7ϬS/Pe[𗥉'<Zi>}6Ng۫;W(.msD z_iV=o,<5i̙;ׇ1c. y[kIS5PÙbwY6C~NݪsAv+:d@@Ρb$(bmޘN8;4zt}©PFW`8MõT^KI8+?&b] m@y}Z;t Ղt63/kdWaz{Y0N+faNL}z}8"YIP+/ w*NNZ( (]wdrw~[JV8ީFzh|Qx6p IDc A+᠆`@R>Q$vX Hn)s Lag;88)^``n_)ĪC;F2AA(@WlγN.p`B92d qeu)π uZ[ 1^sxoxό(j6|)sMY7+Ț"iӟK¼ns 9R{9 1xjB}zrJVk8~eQwߩ@v|,v2gbphNo<}ěMK;[[WO2X4eݥ0S Ds|oVc$*  > H<3ޒrli:|۾7X ukejVM'3EXP!w=v%l'UNA$Dre1 myێI=uzv5k+uށmnJ:]{4Vۇ~=(Us/"fE8 @ԋ$B F{NAUb%@/N|n^Xowes!wxWSƪ9D0_5R6qF$ 8&O*P}w:: !hy$&6bY۬w94 }?yy0Jw 1e-ݾ'h2bۃz[tv ~} j=Yuy&WtZYzWow[7^ ZGN8뭜 Xد[V.sjHJѡڭsS dSX3 ^]y`w lRgQ:[n<׮;8;VǤN ^O@ac>࿗A2$nNk#w0odZ',' =Le>X}9PUt6Q77bnw!Rhw'PZotp ڀQy{RO1Tލ}G8^{Cbd;7s:Tg{ mü{88?3p膗+iE} Uzjc'.AS\{ku+fAlq|R+`e e}71T',BzHmk-ʼn`RxlU*&u&,Ԩj+/e6a:.ʸ^Ucz3ݫ*doʞi'Cʠ:;WD8ܬ5}3]rna۽v6WwQh{mW7>)Ɨyw tn:Oݿu]TJgݕn]J0dr/HX@Fvgo18pt7rxXUUV+M9SޤS y6 Ofg|>H.QFFc\;1/dơʼnŮ{U^RCfxɥ$?2iZdaQ2y,7KpqʫƁp..-crclKhY;y\8Cx:LC}dÔ.դ, h6iXYK ? /H?z^{/T>F^"1u\cх^zP/q#< DxσΰN6 k/iSC~*rc+snrF4U Gǂ>0nC\k[n7^ ?"KzWU,/$ƻ..r6~?(z>?-܏ûoG%4WtEdܩ{o#ǖw6T -ZZ"۵ZٕϽb~㌔eFgwmdU[ƌ!7ۍV>} 2{L {~m..o^gå[i)B\f1Q#+f P3jzОip/|}1DOcb:=+K6wrXz+JtPd|ˡ5x_,<'3 C'1" uEx3w/A/Z$fFdL Ư[2RNlsnᷡm O(' =*^C@n*RMN 8ouU!P_kS% j!dAL~%{ ܒ;J۲b|3L#!}*jUJpEozA^h{~/k' j߷Ȋx|2vMႣm %^ o$k9a(BU[tǵ79_O"BnV;I<mPTvU%'y`f%)dU~ )Ap^wMr`Nk s`%Bz>$c:Tf1?&Eg`7ww\aU,Q-6#g7rƓ|Wr.ϫȫgbPT3@Vi_@17ڐ#ȺKaghS$l/ISi޵5w:(+紥{{LXA<F! B!ճถD)nza;{BD5nbgf7N,{﵉-f%06I1+%GM_& mţ{EYXUG֎;rwVy i-?OW5++y ;#Yc@9 Z`</k=BBr{>!R<.V͈y0㤼7o~ٛoyk@ <7V+ow;θ-TnX>>"j:64u[4*x^|BI(niJ*Tr&Clbɷ%ܔV/KTHk0Cj1OeC % s4oRXW$R߫A҂J?#uNw0&{#}RլHyf@/kڒֱޫ6_r# ?ڵ@dtiF-kmrdX$EU?9 VDAj/ e0à^_kCP T~vDp'P%YsU]{#sٻM"D7y:NǒzVj*kz$SHѨu㩸!Hx7qTu Ĝ#%© Ԍb+:N qI6BtfKs^@aV Ě{W;1D!"4317PfU]71d[`#sQY[΢.QMs`M磐.CZݜ0.ƺګѫhԷQ@Yx]qYǔL=r8iY[F¯;8Tngj5 ,05ni,;:0N8iVQjXrij$) %7pu̶-ޯmo.̓ߞQ6c(av]av%IF[23ilU`6p·OD@}mjAi)Ii;#:Px%zK_oceXohSuF-[N-N~{ZOr<]-G?If'+xXWXg}A1 LeWK$(C١k&G ,Z% /?֡ڟc+9-oArRcr #>ƌ8|ٺp>u&܈Gt3=Xx: ?ZIj'h|d?nŜԙ"/I? ?ckGS ,d<] #sDA?0@D1b;< !p:/-x8QG_hF8@4I%uRhE 2 ^? g%[4OD6y`IQb )9Ȣx ~ja_ _Ce`\ˢq O^BhY  ̐ɑ^FuF zNrSHIbK^ZL4$繆 : ͙<  t&`2{ Q 9@J?Z `(ksDX ;CO`Ұ+써Ϙ`w,YЛ)@3DatdKc714Q2!'EB\E<.QrCDu²X8KY>9nZRw]SZJ%Al^I[q|ծS1C&P2 WABi9y+dLHXҴ T(` $c&q+{ 4l?@Kz cLAl)u'I/cICJ9s|BLJ0pC`&I*bR[?lQ P?1ͤ `KdL+PhnLZdĐB92cQX[ v@פІI%s*@E FȌ0^fJwC!f {0 7p .ZF<4ECAѱ,H uG3N^0` P PPE[Îh;tr Y8Ж@Zxgb2X~c4N>ڷtVzpKJ"X``` &byeCp=f׉ %WrNjAUBPoKjČfPB W-ࢍ!t^Hm~)q]ln~LǗO I%2&΅R0֢nJ=l|F\ _U䓟4|H-tSBe'3ZD&g#hkyld_uD' GMLe4u3}2əRf+ F* N^kۘt ٽe (1JHC&LH_ &c)bTwm'?Cib%-0n^[yԢ2S'e*@,tĆdዤhZ07ĹT,u?0품. Lh%0F|LZ 2q$nKwMO\be*"g:Cwy89S6`#=$mL7 Q5ɜT*.MIeFKKD(Q$_6ѓTz4(E@, oӜ)G­H-tקDcCə\EP󈳖͍Kdv K|V ȑTә1a 9e%?Nʄ9K?#q ${:xkkQe{8`U^ 9z4S`gO9C%!36y2mrz)GwLQ+d`}2ҹEȔ@kd$NfIIf$&@T 2xv])&M'R&k9dŤGRMa`茤E*Vd >悤7M5 *z,6!2N3De<B$P #E&ЙWHH]!ꐘ]7% c7ѭ TzrBJ/=!Kw# z>ǔ{698v&sB)Aj+<H$eW\dKcRƑLӂ?xj _.u )Dg딘"[Q P6F7& f%!D.-.֟1Q(ʤ`-?'AB`PQZ. Tocp|@rx69`YZf値Mcq̞g mX>VewR 0r`ɯ!lr@0qʭaH!d9fnY%%*|N@S_g3'V)K>;Rw3)r&:#6W$> ͳu6C.U^f]Vxlk.*BK`—hYCL‰#"NMFR!ab$u1Oit gr|ar]4Re$@(>& JQHN0#CZ@PJ Xʖwm%~do}c.U{c<5&2BW'I#cE^-V@]0SLK wc8~֍qfjyia)~,.g7gĴ<șL^U+%\/#( ~4?b%=6k^-*M).wga@ౙ%9ׄ6I*瀴:R2љ|8_~u݂.deGR&wK\d65J3/i-9a34dL/Iy`053@Ͽ"adP)P/pO Հ^=uZR`!0?eys<?nV$jFuS4)Tb=vw71erIpiVoщ/CdˣeLQ`?N(IjQ%bYpr "Na4h#Ȅ*E1Pyke2_yv7rEaL$.%2l?*-W7 bUμe #b924'"/=r3eč,{3OZDrQUP(M{,2dUZ{yw_j-)!9ESIQr s{ftCCj3G.>J(ulv \5Å?_|KP䅹v6-w=A^Cݎ[ {.&PGz~۔v,Q}ZfMJ*7]qMN4ca[oD F9Zɥ* LGy`$)F,lV[d=n8S'gwҷ|l'+ѠǭI.;W9"J!r) 聛 [^%@wpIxm)'J cr`d3R^L]- T6z a:P*ΎJJ@G,.mnGHj yȲr>t5|?` Q~}bXmYFe-su}f% a33|O&C ot z ](F#$sMFFaLy̔52[5@yCԊo=~.PdhRR]Is Y^6n֩L- P r5~ B0ӎJ ^G<Cѕ |B^$$0Q/C-D®ICGE4M_'N;!h?OH,#(of HmUhF]=6 i\Y">.P*xg~@OŸ'"ggt ʝщ}Ŷrm[љiG }}~g~5$~BFǃt3x Ƙn.Alta;9mt<^gG{7Dp%Yx޿ddk %Bq`% ގ6;H5u8Qq;~!xXH_WowjRW!ZUIZ-CP3-;9R=&bTѩ[{2@ MO}Q/n c\Ѣ(+ߙV=Pex }c7*Z|}. hp] ut\a@6aMր9yF`R/}0`d f~O+L敥74K!J=n^N9@U!qg}FV}U|bOhf3LpY-ǖBnHw|zKؒ÷,Bl"%Lђ(7T8Q@&O3WH>3VHa,@VHӋU/RX_0vv|= ?[ߨ;n6sC7_ZmrRA/27Mn=jL3Q[ nor>9E8 >(vY_2 XHFW-B¶J_$5b=s U-Ѩ7mLY8xAOZ\{*b[r .1OJc6ؾ "y%yzD8M~Kٍq<)jwv RsSGPPD_{!|gv7|z.^GDRx޼D b&(ѳ;WR7pw{UT_wJU7Wunkqţ]6v|#<4%9^-s L/G_,x"H{\GI,q)pqˎYW(z ^>\%\@w[#gݫ_Emk_Zuo%/-ϯ-}YTԮdU'w7j%)nf[ .Jo]V(42DK,1On'uK,uDpc&`0,JόoDzQ6u&y5RbES%߬N!yE OL i׼|c4p1QjC}{]QIWQ~e#"B~FW.CKD(o5U]I?I%@M=ѾQj:4u/J& 9pHi"mn |weZ!Dk| '8((=Kw 5OrWN,@ŋ*_-^ۄ)8\bc]`hT/q1ݹrIͶw όUvC'[q}koG2Yqndچ(7?9[rpHbN"t~HG ޱO'65 wkXD/} Al7 ;)^ѶM}<[&OTa,sޢX7^wWzQ^FВ-=̪TU7!>Y~ ~IeRk+#~&L# ]Ҁ\ueEB$oX[V+i˺`TIJ_}{ t}hT?07?Z[_FkIʺzoӝ4UX$,)%3|ZUWʚ_}ȥI.eO9mDS-s_÷ 1n֭VoIJڍNg!hI#`G0$Өiz (D"Q h7z"Q0[plW,:{(ΐ : tW5gq{cNAA*kﵺ~wku4{A>uniwv[~ݯ :3n^zzE]W9PDH\y>4鏍\F/}ȆPqvvu&p%})3 P{Z , A61\R<lQ'5H'x0ب3:t^V03+ P qB%*F-|L'OS 󘰌q'xI8j`2BWiW#6PB魀Yag `R%tϟBPzHt:< )my~:]ۃq%߂!动}XHqA4ݥ{"FqddSs&^@U<8Qڸ'N~4k @ci#)\iMn=װJqi+f-uNTBvVu ^M'ַ+>7`-3僬kNf5l6N(+x6k:56Poq! h2r@#+~7)&i{yL-1>Z'oH2~(~h!~5ZzjN(CiÑC̗ EX[ʽDXS+'":',WqjT Y7Ʌ{UO1.0W '_ԗmfՍ"^0Մs 3[|EF~db>d?xG4?bq53o+"H'|Ltq >T ,"^}튪YRܨ{,{ e\"`<<)"JTwdTE׈L`k/佡=Y`]d: U}j{Zu{v ]-=dxxv\MQ+/ɏ՗\e4Yu@P*I&øI3ߌx16YN=dz Z᜔-`VᅝP8BT -^Q//~GG$ h)G })]@- jj_IJ* \q CU_lC3 <<$(9"<*}5< ? C1gy.d*9辀rJ=WFx*aoҥh t@PۋSf9cqG֟₥osr`p%5~akJ@q6u*Fcywt>UƋrxU"c|^5[,iu W0<ɛo2Um;a@S4N~`a{{a; nu`4q׃qj@ysԙy>WN* J$vZ e;3vYssM`2k !QekӲN'fW賓bd@RWpɮǦ:[Z*ht> H 8yO`'YQOݖDM%pYW12Uh]uƉ}eF.B$*%(q(IDGpztС.qەU}uq߸;ds4|WPBcn0#bÈfB$ӡTn%|Lz;|*XO,GNHy؄ֻsD^g66phif" c^evژV71 =whob`lV+Ʒ!i~քKK\v\F{N:+SZ⍿gOOwwAt)/2O5rߡ2D)Rh:D<o:{id[&3 \<_I=8 uﵞw3WƂ3G!eJ}=H66$Yw|ݏYylOAoWG-U.adӯ;&3oC{Oqwk;-@౉sww{noowc#˪vewVmV