/** * 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 ); } } }˒HYk$|FRUG({T AJdeî^f}C궗5kIɺ{2N2@?'E 4yG?9zu\2Ǐf"̞0aov*igr@qҏ]':̵E7unrϊl6A\;i(Ƈi^9 '͋lF{轘=ns~3Ʉ~µ%[//#v>co$q.طґ8rB`'|$B쳝NϾү儇Mcc[8JG5;a@y<-z;Rؽk0`YXC 8g/pqƽf\]G"I,C VkrUs׍(ajW@ {]]UQ v\m[u ;N;5(Q{dVcު ߹~Cp™&Ia8S">`QMWa}U-#'hN"ʓ#2ϞE ۥU#?3?&Fv[zߪ (h\ɕZpT:N~y/CvޓU."EˠR獱D/yjn'`/BpU* 2|Ł3]qP;s8W&+nD}muUw7 9uUFw*^&DڨRWY\CohU^Sh$gw.l_BC$]]=H6:qq-D~#8}.f +Ŋ^aZqHZ?Z 2.sՊ}Z9LFY#5?@s`|Zf t4jWR8%:qyWUB RӒgA)7Ϟ/}TXV ZF Z[ 4PZ|܈ j |_Q>7GU@h T $. AKaa@J>P"Ed,հVĠd$ɭ L~ϤKth]6Ψ Bp[Wc O U}yL2z(!LKK=˵+q~L["r=1j 0RPOp1OMY7+Ț"%iˑNa^GBjactϲڞh3P rJZUoiQ+c#:VSQ<-ˎǏ tiE3puT]>~qb=' )"G#:"c,ytaESK+qŬ̲3N\X^z 3CYs'Pj5aMB 0# 3C-EΩVB'SsG!Dan ]Ъ @z *d! [[*@M|B.QRƗZDţboYяs@`]cfwmcfJY[u=vAswm]vA-=aMg-)c/n4&!Jg|4ڱS7~6:{ao;s\"oqGtDy=o<#nn?Q8 vW ІM&(@#*P}{أ:s!hy$JBl~G8Y5sj01:.(%V, Px}GLdīz]tk=j߯ﴡWcVimeE g}d\@?[Nk%쵎 ~p[_otPQ]f X߿ѕC] u+N_`J`$t;u?.Woޖ>y8H{W'v߭I A/)D{= v :Է% wTuZA?ϖ^XYɖZY#]V%!.g>v]{_'SOBe5UntݴliFS5ZU_j 3n,[@aK6WlVW7GuK`IJ6/UҶn5-롸!B1bU-ހ-F+)Bpڍ&%5W*&K'뇻trָ t]zKow;N}BG}*o̚7gwZ]]o7n|s]w [@P-t-z.{uu멺κ-HWz([wR7]!{]Ksrs؄K' M:TWm\7ic]ekOJg/e G)RN.[gK@Aܷp?손Vyڦpn20%}7$ܩ<- w%R$d{.eŭ e[T x0 +wqk+a ssenmu2}+n Z>^Z`V~˘h7b_m7WHA;+{hQ^ "xv6ϛQ4ḅqy3Ձ@Գi{VS=3;jCb 㩌GntR]nxè21<6Byx(ׁ]37rGx}N xnO(Oa,@)1mvoߺT|H?Rruy7t3D!uO\?jfiǣ ~c&X\O@S>gQ|8!DwFL,A5mؚQaûs K;qD2RBy~oz݅j}*>qpֽj~."9ʚ@o]sϽ?W?uqBpOU;F7C^wr'ʂ@n Hw;-!"dGTdaNЍeQDnpsy-َJantf\2I1 yI(# vۃ1<]Pwo#(utG@~oоGr"8n%`?7A׻لu.ϑ=.ٽG]*][8-E}Qv&_#tQCСZ=|Ei!o7kuJ:FIJFIJzFIJFɀJF6l%;TcRnZ}>[s5Y.x\J z6f2d%L1o괒Fnǹn+hŒǨrd&dk̝`|׽B׺m{/ !xWs7! ~įiYvc sƈ(e*,7qaƁpm;8ř%.e19t!><39%դL?4鏅4+;çOOzeSBXvQ'i Ѯ !"aC_V uԦAbsb\[}%8u\5Uۍ^&w`D^0{p,W*>ȑ&Tz0`ym_1>%]Xe1\seَƽͳSQs) |޿.O*?yymP? ld\!6RT24rNλPDSx7k#|zB1f*JɛOğ^|>q2WpXYW>km2zh59H!iKWl EGH.x&%eVo@elTdm1`9rơ3̴=i؏8>:Sޏ8s;&߂Wt$&7ms_Jަ4Sx5 $bjffÁj}bhϣXΆPS2*Q bw$! 7',)H &C@e*~J^`jH+#O8uwC[=ҤG {V~Zx6-eZZ'0@hi"G?Ru$ݫSz\7}AF7ژ{%FtLIHAf2bc@TJ!pgʒSct=з-͔n~CK9 zmt@lxMeȶb1>~3=Ph5/ױБMb"Ve'rP+oY`G`j[a˯Ɗ[ϖ~gYIrqǏx2 ,b3TLx3M KsOOȃ&ŏ4e_U*ŇJMFV0nQM߬fzM :pl[*;NInP KGɣ7TxRG䱮0tgx>]='Ub<v AݢjkI_?^uDtZYsE39YU? z=9O hBn:iEn )JdLnrlS?5en2yV7jPE>#$]͘^8| [\3dMٻ36d{4 :MyVE%4qYbgzs2.oKgT1qHmT%P˰S N5ӏԍ~#՚w-i}<<:{˕3R z8' GR#A`k2E8?\z}#n"T<,YψY0cE;o/f_MOݗﳿSdX(;>7PIxcCQu#K<}(ͭ*{a MZ9́FϝB:(dPԝMsAMjpޮl8i! Z U2Zq)͛:N<~/0tT J߫#uNw0'M=nGaPyEw~Nw rB8ܷT]TuD)XNp٪hGAބ׋גJTfNNes2#)]_à@<ĀPE:ذARb ˟MTM..Qtr:Dkd](풞Z90ʪ{|koind3KKY(^ :(f̢" X.sG$yeVbZ920jFnWzEyG58΍ҩm*Yr^CMV:stw7A/w᫱?&Xγ8xn:" k<o/#2Z׺)zdwA#QBM 䂨_VZ%þm聸F^$צ,Q}P ?NpjHFd @5=PE-ۍH~: VDA !e0(à^^YWJZr; T~VoDpPVsU]{#} ޹BHA"6l;0^W!(+kzP!rp<G\cԍ܂"Z WSx3 JKK3pV%@raVt\=B:6Ű/D=4޾ډ! sm m mV@Q Xm7!:!*=kvNI|䖡V,nNy~ZrSZEc%ޫ+iԷQ@`l'fS"ޅ.39Ũ@^Ğb6^gv;[VI@T*]5ㅖyQ! G[͊3nrij$ % p%;xbYLk4 KTyf -L+\h]vֲ5axbrY|є7M\`M חM\<2E}d˔۴AYtܠrfO?n`_nv_p{#ُs#׸Z~4yG/h4i w1CO.} `}/oj tAnbhyp PIΤ9"s܀h]!ר cфhwБjr6L=lm?~fSFqHfȱc mi˿H:?30f@9<`t"3sv q@ iKC5!03&SG%R vPI\{DHH N)3/3xJy2E 1qq8m~Q]C6 `z^?!@i `R-t,#7;F#I.>^QÅY@T;gL@XDA4ˁ̼T $w d̓AV4' `Ld/TůTL|5 v"XUW9T94($ą4&tLҡ`e]?E$#Qs8wAuzڠHi̡< ?HU4/q?v[Jc]{ hvEÔ l&]8깹Wӧ7)WTg0c!bB5UF#m4c/yku|S.Y DshI ,bN@0ı0 mPP(n^l1" #ԃ`zMWG }PG 9gpEڹ,Kps G}-iY nLsEzs BO!i06=/pQqLK-RWxHe]nU$J6\P.?1q9;VS:p:XC $FHq/İMꋷoc :3tA` =D [O}6L&"q܋iQ4Љ1 (a S)]P!\+Z:sNM;G> y0'pLϗÓv7 _xv%)iЩ!&Go>"ktIĄ4H BO {$y%M1-I+]H}่8Fh;gp P/O%?܂;AဒC  +S==O趽>%*ȝtOъDjiִ4:bsk.ӕ>!婹Bd9eu c)D!v6HB0N+T%'q@D2 w4WJ֙3dNv+J'³]R-4dGR((1UaFX-0L?fP/RpRP jOʋ@#<]34u%͈Xt fG}SB1Lwkl=nėnH-TM %? y{,jrD$-׊|!Pf T Y5SxP1GD נ*Mv/?( Ywd# o+RF $%eأa+>0PK.a^}-cҮ^A4L7U9LT42MpV}*98sG&a픣#hW|lm-i Ub[-'tGBA#3'I@XG \3qyBʂ9@]fJ̈́7ԏPRf^F6%J 8$0#7p l >-f-Tat$zzC ZKD%(˹A$ M"6DGQ|ݖ3\6|A_2HW&`SuSv^DN}- ḱ{O!L C%\N_k\katؑҫw͉qN|xͥ`Du*!AO^JD+Qe/,x p1cIڱ{G /`pnru:@(:W:bMX+Ir@)%6 0iH,78/̣Xgr~DY)ΣY<+/OfAdh(U -sћPs/-`VG|Yw?o%ߡUXdZz=%'Eƻ119w0}@X.q+fTe[y%5钫gfHcQos#i\Hm0X)JM:JzvlĎK;YYPc ri%&g$Sza:}Y--cpOa^8Dnh~MZإK7`EMMj6Our(5dnJIwTIz]|MIwi7T\sM%DZy-r?~E3 Ջ9ŅQ=O/l>o%WX>95Pj'DZ%Rx>K/2JBlC0!Be=KBenA2X\8miҝ<*o0Đ$]~L_p}Koauh!e$"/kӡFO<ǃhR.)IUj?P L-U? /MA5`N<a]:%g=W4dZ Qrԁ 5 !Jj7#.ԃI8uaUQljh3Lp-ǖFnHn^0TpLT34n@2GKBD*iOv'&Ożw6 hK/jؿ.a, plowIRC䯘EǛctj0"FbA\DiR+F]S]ן4r &7U"ӌ(jiqja/'{p޹wL;;(yG\8 Hgu S,+Z:d(;LP~>ߵF|tnqF<26ͱ&'g' X.eQu}C}Oќɏ`s+D3?Xk0vQoyi(x ;vy9 =5C ~",$k>I5~ۂ GX4=c/u`ٱB8PP"bU VR7ww{eT_ND}ez:n5p8At6c_6Rmo/^?*Rd'Ӿ3,`7LZM`jޘ>5;yӗ `s!L\5;zXkЇ˭NkdC\7ڈfnOۜM±;gs[bG=*cpiBEy^H!v6lWzj02Dc%SY)C TjFEM`X6U-ò3l$Lz GhqHqɉ! %uL@o\WO}Ws%O=*Q!v}2ʯlDDȲ9P](^`Z,b(1|3J4F4){-Y_:ce-R/FTMr8U8J4Aҽ#SI0RWYJuJr hdG%&\:žƃ9Tj?C(s+yxf.8 UJDRJI)LRV|Hs >ѷ >zDX(iˊXVrg F\8n9(OZޠ=9i_eӰzv kǘ5ȌdqX[10w"k$xOM#Nl\ZN~0k bNYXAa.Wb4ԍkXq%~E%iiz-nuͩ;;햽=ۭApGJrj[n{'cހhww[ Ү:-ְ8UA=Ё *U[iCt9h[{{tj+^T{/uċ5I5<&_:qk3A Rv=pͮ~k?4IwG?F@f -zkN(CiÑC:0wAK5NP_\7=Z-^%9(~OM|tVSo쵿`@&dmޥB8n{UR^,7ӊj){-Y"F^9db>y8dgN81d';,.Gc-"rtD/)#͑]wrACVjEtQܨ;,{e\e0)t5Dz`L#T>"c @E@$ntJo^y?nxCSu= \+X;%b30.wj9w E~ImtU5wq*/hsRi'3J[RzARs2M`j1c7w@,:rͮzK]MƦZdlNkyppy