From a9b57c13c8086b15c0dd3fb69e9d3e4640c442a9 Mon Sep 17 00:00:00 2001 From: Honza Javorek Date: Mon, 3 Aug 2026 16:03:02 +0200 Subject: [PATCH 01/10] change titles of docs and test lessons, draft lesson lead --- .../03_docs_driven_prompting.md | 2 +- .../04_tests_driven_prompting.md | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/sources/academy/platform/scraping_with_apify_and_ai/03_docs_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/03_docs_driven_prompting.md index 309b48bf03..3a3d83a45b 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/03_docs_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/03_docs_driven_prompting.md @@ -1,5 +1,5 @@ --- -title: Developing a scraper with docs-driven prompting +title: Using docs as a spec for AI description: Improve your Apify scraper by documenting its behavior first and letting an AI agent follow the documentation as a practical spec. slug: /scraping-with-apify-and-ai/docs-driven-prompting unlisted: true diff --git a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md index c21390efd0..d052859892 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md @@ -1,21 +1,19 @@ --- -title: Tests driven prompting -description: TBD +title: Using examples as a spec for AI +description: Improve your Apify scraper by adding automated tests with real-world examples which an AI agent can use as a spec. slug: /scraping-with-apify-and-ai/tests-driven-prompting unlisted: true --- - -:::note Course under construction -This page hasn't been written yet. Come later, please! -::: +If the target website introduces new edge cases, all we have to do now is to identify them and instruct the AI agent to add them as a snapshot to our test suite. - +If you happen to create one such, it would be shame to keep it just for yourself. In the next lesson, we'll publish our scraper to Apify Store so that other people can use it while paying you for its development and maintenance. diff --git a/sources/academy/platform/scraping_with_apify_and_ai/images/pdp.webp b/sources/academy/platform/scraping_with_apify_and_ai/images/pdp.webp new file mode 100644 index 0000000000000000000000000000000000000000..6ee465c65209104a8a7f3b43960300682fb95284 GIT binary patch literal 134884 zcmdqJWprFgwlyebwiqq8m@Q^zTg+%NS9NAUXUDaLi=B;nd zni>6wxJqT-R7RXQu=hSGCoUqgga87hEG+Or=>yx_@z?7QAEDELDdSJ$9Q=WFu1D7;0 z?pY5J=e$jx>i}mD&3o+@*%S}hXUOMMzmDx&wBwF*fCV>8GvtfxUB#vLJ@1ky006i( zd!c*jxXn29!1j~}m;oA|#!fTFwXdvBJg+@R00n^W&zGBDUJ4#oowc_Br!Vquh%W^% z>HywHg4>K|4~>p(&t(7$Kpi0Z4e?m}g!c+C00;rp>|s0v+{r$yrUBS9?qA<#1iUW68R#?Uqv%t|86cjQ{q=!~`~7{4JHUfyBQKEW1aBYU0KooIa+|R22td5i zKJBn}Z}w<`V$wK3>@>+a!dz=?_&=MH*qm@&w`~$5+5> z?sf_e3^bKFw|C>Wp@&aj^^|Jk4ha3b(RnVM^0|XJm#-A_seL1XgL@mrPoTvXFz|TfHv@?*5fgB*-gLcw2N$AHVJuQ+1QbM zfah(q)8L8o2(mSP?nLXbKlpyU;J|yP2=mEqL5sV04ZKtXB#6pBZS%uMlG_)%Em)++ zHHQ!x@2A;;nxGcr{tW7K_+6Uim@Ohmd>O0|&ADhf(2bIJAz);UXZ*qxI0v`_pKi?d zQv<|}p=>sVSsv&>fauS@8Uo?i>!R@w(A;EI0t~mmzb_0@S?%k$Cq&OH72quYIDHd0 zA84x6ObqQIc7T2-PVvoA3bnVKGO=$&UI*J4Uq)uvK!-uK2&6g=h4MeFd@}@ zP|Ky)bDmYuMve_+Elm(ftMi)j*j~aI9~8*X`|h=N1aw$us@9Y~zzRxSqdTKLlsGi1 zlx$9;x!@Ynl;VDf!XlvdprwK8^nA{wb_yYb;<*JfuDocOgp3{SP31Fdad4XGcSL1zA94 zn`;cJ-6ZNb18uo7LQRi5i&!_Y-`Fw(@b@0ZL;8>ih0^ifqoGjSc6UagpF&O#kh4Yh zeUN~t$fB&hv&#rWglf6In{m#-+o-r*adFAO+Dp+#PB?otjpw?^eon*T*;9k~ACzhG(hB%mQ2*tb=<*hO=tLF!Lo3m-CYk zoR3ZO&3fZEtOE#Uyv%lcv-V=kRMX6~k^t@bCR{@}4CaqO7dPnZxV5XI0t$Tci;u5e$pn?xc6?D; zLACGb6Knj=ROlI7788OZW8E>!ONhhDqb^iY+QUu=y`5C3ok_3FO*~HR4k=A|ufMlB z9qHt)VJRHb6)+hnGCc*c{W>0$>}Ub6GS@Ii)3QCRPw`}gMSnS_GDYL_W?FUO+6j$6 z*wPh7|9!4T7kn7?W#z-U3iL@xXO>R8sDG()@aL4X!~D6t@=|77;+u3=srcwC8Xc4f zplc5CWn?QAmvEB4t1xa}@BfZ1!=k@A%}l1Zwv8jAW{LX)nQ~(s?_gNo7o7G6y<44m za{BE554%jD&kV72hC)};TsiS-sN+*Sub%4v&Esgvb&7vWGP^`mPHf5l zm!~rKye-$4E0{dFB86f_$~cMt(-#!~_N~A7v;W)c^f{f;i+9>)ls#=w{`18wJ`oo& zHmQ4s*kVgN+9_VSy^F-{UT~c~QBSv~+_^zv zTPPsoVD^wFCna$xFx-@?#(63Sb38Lh0C1Y0Vg+&S;yRFpv)B9dEWF1LaK3@RTgl7T{^0BVr+8?bc}&hddF23XNVtBa-nZEb2)ixYe#qwkSS1S ze{&wRxbn=qFUf%m97}U%9DjO0$Se}5j;3mZ3z6=pYms%p++Il^uvFWLD?&hki>*g~+J=Z|VNrQl zY1}}PRh#f7)qTRPj^?QqFS+n%DwF0Dn-LZzX0Jjuak&1Y5P?;i(HcMbCy9>YsZxr) zcLEu}=oLCOOG&!e_f)oe*!;tLRw$jVEX|0Cp!RZ$zQg9IVI}L%Pc(xVOZ} z`Q7KV`8~!Ksrw7FRcGHwvD#yX@oSOkm5#XbvEeTHT|&IfCpL{gCjv!&KcvZYVdy(H zAu4U9K}QJ*bTJdPP~)&Nnh2l!7^lM8{J3{31O>liZ7W!nhBJG~Wr=Vmd@c=gPv^#x zNT^_XMKkd(srPUZw!GXi(yk}uqjv6Dl??yjT3`}lkv8V%K=6=3<1bnL8(t$LGaGLU z8+kt&2~$OF~x|JyC`%(1Dp%MuT_WIMN3RjD+J`2d3Va1 zs2U6__FYT450wYm7Lz(s`6_VxZ*%b;c2q^Pt}B!73ZpU#qFb(yACEI>XlBa>?cWsYqGBbUR5r3khP}hE zuiHju*udnKXqGsT=YN%yy!5|%`hTSCzfa%)e|SyFSVk~E+00L=eZWkUp2LJQH@n##^fP8dF4mvnF38r)KROW% zmdAW)Q*_A6Noxu5E_#2XSbzmJ2KvCI(kIj}_y7yUYbiE|(z_2dUTu}HcxXVklu3YK zu+h9HTM68uSYJ~sJ`PXqAqsJvzrj5ZqhH*U)*1IKfykA-D2HX_IhB<>XAGnxHaqEJ z{gv!Nb!2VtZF|VDte?ob{q$|_-8nwz$C@$!?2S+m{i1w~lg{d9&1CbzS_*`IFfdU2 zfT*YF6#biox3p8^@%!3Oy1?Nl8Mx+aI`e36ZYOTUzrhmzM@9Sl>h>?M8{1Rpcy(Is zGuPi{Wu}tqK%r-DBKvuoR`|%_!Q-YCobQNsoDDQ@dy(_&D(E<|9Qdh+nJ(Fs`9qs; zdkI)?6<4yuMxWc2KVLUGi-Q>VbS=!%SkO(;mmG(mD>{CW<`ZKgw^+6V&rsj88h=lO z34K!w9BRv9o|K4;KudW>&J?K(-zBu@_*JgMK_0{r_4?)OyL2MDIlOVJKpk}n;Q2U8 zcafNE7?-R4@IAQDKw;(2Z#^wz)Y*u<)r+gj&FTkU{#Pj%pY3#Q8N+`<_+Q;kYr$S*?s@K3d)d?ee=xBRGssj& zW|1~^8dj5<=9jmAf2=s^Xnr~TyXojsyaV;MB<kOV=8z&@xf(yruD?S{~GIY_%G0Z zLyrDB!1bZL+ROksT26N2OUzw+eZ#|4r2QIX(O*>qrC9w_4?1tO%%wYzS?iOEKJsvB zB|YG(m9O9`a*H(?1~y+lsXhUKExVZw+VZJL%S*tUBLs=4 z9!G>It6_vEjyGZD+R?4gQESsIE@Tu^Tw2B+UJFO5r{9v`k2kEr2|uxm|3;^Ugs8Z< zoRd|j*rwqoxycR^?6d_kP%e;B8(#C3>_u!XHms`k5l5OMcjNp;CMODfWDfWS+pcTV zHn@CY!L;NN$dWKjkaevACEyv9HbyWVHd$+*W+VPSr827$ZO^X^f{)}@xHEfhmfJUl zkZ1ICCa&bo5zUUDUud{Xb|=y)u^D13`on zp?wl-ubUf}%G~TMmGyfsVama93PMDwxR{S`yOa+}=qZFQ{?rf(W^|KZ}OHTvIE=rc2}VwWr<{Z0(^I(<;b#Q7U(8>_AR4Bz=Z^ zXzX&@Kn*(b>!awu@zssWB*5f8%Dp*&*|McJWdUh4OrFLWu`B+xWm(nwNq&Pm6vZXm~G3tSKN&VqOOt z3}=VqhT7p&G=YM+HF}6_`7O?G;)20y6CEBeLh8Gq3ilhS)Uk3DDpbdLZk$3f89 z0jOy?S&*BV^6nSSQZzpI8mTCez8vuJ8U2dDPw1l zDihf8sLEXMe|d&pPZe`Vm35lDq|Ir9XKPEEq~Hg=T`-KIp*vl_K3iMb*F4kZv&z}M9m@+AK=k~yo9cfIId6Y$h8k81f2fL%WQfHMGoZJ18Rg= zAUvH30WYCwR=7ZuDRwR{G)!~OrPad_F+$~wN?*DP=W-d&-0{ zO`RXID>TOw-Q-;DRbnYnC%wr>!KOR@y5(RMEkdrZiOm{A2IfLY1H*DGV;?owp5Kb+j;QH*5}(d57K7HCEqO|ubVdEs z`}z}cG*&_7Z2mf@m8LiSWUf9Y*jQU{8LhdBMgZp>70x-jQiJM2KynJ&YmYCInPnKw zoVM{m7gb1}Bi`i|9{dXUvYLIp7a*1VkdA4eI@5kL1<$?`9TMi;E!6sgHGMyj1kRy?)MD{Qlo0#P6b@R<0wta7yBe(UugHRc$&e$5#zIuqhRrNGsf7^dvqS zAaoo-^&>Fzb}mck5?(5#w3Vx&C+z%b2@x?THQDe)G)ieVq`TNdeU(j%2G~I(BjhKT zFW0Swn(Cf`pYQxm2?Qr-c^6;ev?L6W4h^6dqB$j9t3c(thmad~H%A*yaw7dMCS}m3 ze7-S2e)E>e692?{kXPnP(>N>{EcDD=#<86;!xK1{u+`_M=pUZD^&imNL*Hw##Hm}3 z9Nt688hmD|B$(m^e#T>B56Jxi>HZ}~w#2WpT?5R9mDR>IDeUT+hy{kcjI!Pm(!)W4 zc^W&IvubGpdUjMRBl&*CPy!$6Q(|@vbmO9pWBL~e%nUa%zByx7rsz)%_09g#c?Q}! z`WHF)E0l{Q_M?Q*C}*|-WAY$Qs5q5SS3S|mr<1KiWPg@5Tu8m2`b}Ig5jn3!$MD-K3%i2 zC)nfXt`&`T;Dg_Iqkk_P=Q(1HKd#S2Ok>y>ODmV)Q($-j`;XI+_nb)hW`J*Y!h3i_ zvw!rHTyXl#yF5W!k&fVr+J-9V2$q>Yv9(`6*f*Wg_Zc(sN@p!WI&a-S6oATMU77l^ zVMmVTC{T1x`(rTA)dakO9no~(VOM+U0=mKVdUF6J+7VJ+@T6Cz@-~URfBGk`B$7}!v+`BevXq})IfsoG1jum zFy-i5w=Qm>`+lD8#>y`&BU#m#t?ZS!A z8oa0CoQ|edGj%gr9=&EjzEx~Cq8GHlpdXo-xj6PEv=iCml-R0@^2%0kr$^)*BiPu0 z7(X6%qBLFyL|I>ZspkMn<)&`Yr_3=xqZuxFK@m>%Mnx* zkUo%+MTnfpg1mH*8f5VTA>7W z1mrkz5EBS2d?gsAto>~fyG4o+JXkv6TJ)!Z3&mNa;J=r*rQ2=yZw21zl*#cp0qW$)8(kcKoK#YM~36(hg`SUupI;9!t_%_DU(a=Gl|3rlP z)|a-6xiE`}+LH6puXLkF+^4--M3N(oZ_^{oF=!t^fs`bnn+)6SR(c1!mIADjA7G9% zGfyQ)mgAS9x1TAZVHiVtm7EVEOj)uj$|kg=)8^!BqWY;UVg383%rH0 z-iYqeF6#US#G7tjpeG;G>vRZ*gOKy#Q8MEpm=MMu`Z;j<9I+*9!W-YflQKL|JgUU> z%-OBjUlh}$xm{@#pPTC+Ax|s?@`>IX5g714BgZ?&UoN5Ia#8#k=J&#H7(Z5Da|NX?S_~)+;7n z!;u>Il?LcNtp0i$R8mx#inG_+%m&gYs~-sCe^y+&<3>I-WWQ3$Q=yy?_?p`YtP#!o z_0R%*#1yWJGrnyKmFNRMEpfw$*}`5&LbP)egr3w48?e*l{^C*SWo(igzLYajWoszL zvIP!P__gXP?h?8~07mEZw2H;p_-*l~5GYqog|4~z%y7te8HO9uz_A(5rq~bbz5Pp_ ztIO?^klc0PrTmbgsJUsTZb;ZnZo2wY_>o4=ElvD>&Anlxu@ujzr*f^4lJI_`1cidJ z`C3q$m0cGQXiC*(Ah5`YJm(10*}jA6rFAzEF{nI%hQ$_G|+mWu-en zgJ0(8%(oJWsRb;x8hU?f#Dg{Qrf;)a%<~V=JACz1FWxvP=eh#7MZXS=HfKLijj%M=uE2HiVGl;ajR|d|BA*1w&vt#{g_MBj?43qJ$?1=*W_*`@ z3re|}g>-aV7inr;78_tvh35s0LW~`@W1XKJ4}>krLS>DpK@f8aXOq9oG1-#uD}@iF z<}QCPX!9DlICi6U@?ELUOX3jYFHQsAZ~=FuX4=uMSO@N`B|F(h=D z;t**A_`veW4DbjKpU{Yx{;kj#!@v849wU=|w6Jv(QafhXTTBelY&d@hNH1-}XSO>N7VOiIGXqar_>GOgNCu%rO&Fg_Y4U zHH%2gYJ(&=d{AVs+hsSz?z^#8jsWs#OOZ(`WuA)N214n9Z*wM$00^mxo=9uBaV|ZP8EN*FV26xG6%vY9YIhzJKs&jn%hYt zf>kP4n9k3V9jJqSnZU1MTqQtNG6p$@ZSD-*0rSXzlV5MY^TsQZgXOKW>k10Yuxytg zn9cDMCa6s^>c}pKciu!s8i#TOI1S4*Li5==-I=&i2b{PY!yB!5XFFix;7(FVVfllfRLafUw;it>@a7S;?WYM&c zY!c5VB8y0yH@A%p*(jGhfIed{-XD4ZTbngg5NCP+MT-490Lr6E>J>*g_WGBes6Lq^ zaLgIIUDz932MbAzDd&T~y#k|8C*~U>n6_NPG=k|do$@yn`LyG_S0MG~@(qlbSiZS% z);UDWwYpk^3c6M9i6klt5-#f_Do?VVq!>v7zlCJnzfbpuZpTk%u7w7 zya+v(AGMK&cE`l?tD4OL%e_QaTE?QU%9965p# zeCada=)frsIiVa%5^CSAb0o)<6GgP`}%A|OK4H;@#Q07sZ=F=I5OE_ZK<*X z5|d&sC6<%d$e+Wle4mxEe-ZhlqMBU6Eg^wTW9>R|3M*P{eWr496$94CU^DMxy*rQ9 zsVWqHtE$`cl5PWWf3^fe&RN-AP5|&(a|(>#_Sv*Z!II(8x8}m{n1OX95ta_>q! zd0Ge28k(2e6!6GXH*#=gCV=0jvGl^-GJVAgw-e9@Ik#$4mC@vvyva&1jfqAjOW>X} zbB=CfHF2K(M1=IwHx!30Iv^OKv}IHf<$qW9{mv$T>eE_uUS$pELM;(gXERkaj3N9! z$k`ztBI4)K(xLL+W|SKBg6D63rkL>-ld2{kU}LY$1l<(bc7i3Y9H$p)0(0fD)eqy6 zt9D|yy{- zkDhP`|8RNj-9sHDK4Y|KhzmSwF#Q3ni1j+Aoil&*Q7hujImohNt(qvBQr10)fp9H# zk|V91E_>G95{(lH4+^Dtm23zzF`r@@oBSuCMjBTk)_n+Df=~PywcI>x^4bUFAIWmw zif3j@Vb**<_SJ71owCgu_0RBW_46N>2&eh8;_Tn>uFd@`if|~VU(kY31w}f0T#R*m z02vvXgC(j1N|hmu(;LIreQ*AGrJLg_LL{~7hoGgKrhWB|$%C^k;_mqxV98LWOVhs7 z?*r^fH%c&Y6Q6m#lyIDzs&1fGFJ5O)R$<(ikxkfraZ9+*!7NhhaJV@=gAgr3O>s=M zcLml6qMr^n!-BKEo;7xsH}Nl%p}m=smc8_QGto&>)kg^WT7?qNUqZ_qilWnpVohM< zQ1WrUm^P43yg5Wd-KU%x7+&ycVNn^YfJL(D$B@q6vWXLCx5LDewg#jg^bh-Ncg@}h1%9`IkGkee-o#iL?nG3wlga|0c<{8pGPxhS>57Y= z@c(FmF{>39di|FI(f3sAnkps{z~g#bB#RR;ir(l#=yZdZh4K0U-axosn!u(npus3} zg^iAG{Xei)LmKMEM?KcLNieV-8@n|^ta}h(#_cmbLE2;4(9CR*Mj2c{3>0kkq#boN zctxs_mJ74=z)NG>dtCO^AeJmq7taaZMR2f-B)_EE28TJIDO5ymy$OD)(kcoWGA7sZ zw>DmN=U%oT`D#A<3MzyL1}maL!1ib=spvLrqw$b?IMlei0dSHZmnp4KP?t>)Ghhb7 z(^IFz761$)YZ^oF?>Owjwh?t>3mfkrQVqIw_0RU>Zv-(t`etIinjMK*W&(f`^6jZ6 z$OAM7%=6B%?o>IjJ(Art=Qs;TeenZ;+vZ=w|5PHnU+b*1nznjKZ)H-+i58F`UGqFwr>A$S zCiP}{LH4^U)p3L`%iVpmPrU~NNI;@t9w&cao$Fkq_tuPi!ROA32x)6e1~0$&#DkIf zRmjJ~9tZI>`UcKGk8^C|^{8sdAmN%dEo$#V}<`R|)DA)&C;%tw`Svpa}w3K28e zS19P%ESvJmlcw-QG!R&JsILHVOZ~tJ>==0(T%ByHhv$Tx@PSZn4wIhi|BBfN(R!EQ zg`dyPzTBqwSR5}2lW0&{WtTRx)F&>tE%E~>a!?3hL5SaY|L)yVYhh9$#B&k*qRe8; zEMjW3W(0SEYzqKDZ}*VgPAku zr(w@9AK$#UpF;0Qyo9^7YY;SCo&W(?(h@~*SP&BvHG=UR^Bx12s7d&WsBh35yM0|@ zx-C!zmKQLTdrTs6A8fM_h{AP*tGwWs%Bz8NDKQw?L&5z@B7T`t3Ti`ak}pc9eb zbBW2_H*NDtT(k%GXZuQx#>KA$j#N*j5+-X1-qO7By@d;!yuxs8(9qsw$2l90M$ng>J&mg2< zQvH=5RwzUN^WgnZa|k4mY7a(DvNeG9I=t~C_Ivp#u_LUEPY#yQ1#FOt)gB+!)Z1A2 z<*c`}Myd_MI6lw}--6Y(=P0?tb!pGKLb6xOeH#w|!AHTVbOObIndaQo8OP|# zpp?nRXNc;ZbSYC~Ari4y-;O8;+K?(yMyFNExAPFrdUS=^Flf~r2qO|iLr0FQmf%@4 zFr8PmklIu5Tz^x6%F^h~jw)%Ej$u65)red-S3dbaUTWr{Rvo`O+IBH zN2n_8FyIUe!KH(-9`wPpPq|^CD(P1QzoC^Qo3f0Usy{4=k4n={oAIq@ z@Q#P>Cz*bcfsNFZ*X!_?3}}-)v5-$bEHZOZ%Zg0JR9D}4Q;en8X2!-rvWNJ@YXm2c zoO5^lHBZG25$oOh+ksRP;tgksih;r#;|6LBH!}64`w2!4OCJ4IKBxTe@V9O`Pi-mX z`KE(-)b%n+E*TkS*hmjGS$X`z6Q^K%h9JRmnnilBaAYZ* z1N;GD)69HZCaPFP&EExu;h5lU!m_zxT&vz_IYgMza&DOv?j{egXr27 zPfs^@ss^6J+vVRe0s)h%a6aOvU#|n#qYGTYPM}1i|Z-ykCtmp1}&d z#ywNtj7r@=@YF2;<18B^YLc|>n4?lXl;Qd`qg@r>%8&=lv@>WHoXLVi(af_qQMgx%5)Ln@O=_qE*s@l=4O;;Z-KWr%~?DtA2 z)nCZDpDE-ue$PkuKc&Hcx};xW8?IF)y*Vw#sk)yDy)@BiRShOSyK|=}z(Bq78AC9` zGvNZf+FN;z327)k;yV%OlP-5IAgf z0(6Mh`bR6#>y}ZY#ykIpy!ciA`wPqC&{o;H|9L+Q9rBz;G#2*I{%3bdD2r_4yA{<*iVo%VnnCt~>C%$dmJiFR9a45iM-i8smZ{+IjiB%y zRF=(O#C7OK(0S2s;x=;qB;P%$8y}KZgjfyR8nIGS2AV?XUaV8jF0hUu7kO8 zxPqB>%Zu=r!Vk+~Gkyn$KSSl)6&3Z>Q|iW@H?d`-2e*;;w3TDD854Bf+LXkic92pMSuy{+9*uv~ode`QNIwIb z>cjd6yRt{Aq-F5!onEPu=DuEEGz2U1T`sItdoGB!1{`T`kpW=ttC^p5_9tQq1(I;k zE3v-ljTZkZU!Mc~I zKj2%1i{+#p#x$U^3DS;)n0BRTs52~YF?XJBz!wAwAB>^toMf1?e5K9Gu_06$0ohH} ziNW&oSFq1vo@GwiCof9Tf!VH`Q z&_jHD6<4%ElvBV(uuEPgJ^Be+o=2o*dliS^-g(qNS$n>5Gz?9gjZv&fvSQ8&C4!f_ zH|}kT95*R&kh?Z?lIKW#aQWki36{ut0dW#qeLlP$w85@=4}}JA=iC!AXDm361DN<# zmZrZ=VV}-GGWBt2uO^HEwjl2!tHq@0pA&1Z$tXP2CWV~D38#*JOG<*9N4F%q$sSz$ zN}Pqe_+>lT*b`(j#}CyPw@f)Auq$0Ut3m5aNmxSuhh2!%QYh{ZoGL{_4PP7};}XC1 zRa%%bmXfc-Zw>KfIB4{&OV7GUN!YB!k=Yy@0RR>;U{4uJso}u*BYk!%=c?2xr8LWS*sOlKW9WwcrOydMvama|1J((kpEI;#=bjP~u4%r6 zM;)1Be9pdvoT~0X)oFkaIY(|T&V&A*C%g*|nepkI7-%jpQr2JJm6j&j*7v2E+kU>n zqJWGfR0F~0u6j%ET8OF$i(sP{Eh0ET?C%zhnu5N`mR`kP!bB%G)+fASey>fwZ24UD=G-f&H7$ z)BBa!EEYqy#SgPv?`cDul0Y4IH`WJQ{ux1eYP)74-~u!Xr@*reTi@`of_2Tx6MUk< z&H<#Cu(No0^dHF7JwANC+^9T?uiZ4_eJ>+N*|N2G!)+RTw2u;Xt!(oM?>hYP9ea8&SQVSP%em6{{9GFaxhz3#rtX)0}pTGUu39E4`;{ zgbt}1YZSBL0pvl3GxLz104%j~6|j;SHX~{KY8n?4s)Pl?;vWZl%iILSfSF^`$j^%g z{?PRHuMZoV_oJ--NfEz_$zH{HYl3A#KJuiknlYQhM6$gM9+_m}YgWec7MZJT3N+el zA4v=33kbdYbUj1_$nAH8Bd8tI8Mh;D&WIr=#CXqr4a{CL9aNAs0ik=+yx1w9e8 zt{TFm4VIR`DTMJhu(H0Z(Q;Q~*k_^O--|n4;u*ExEOdQGHle?)SRzb4qHcyL@^2~KIYp26QVZ<%nv^o(RdcMy#dR)+Cn*xDh$8BCR?qt1qt<;t!bhZ)Dsywy!8nzudo+c(YO2 zMjV;9GqaNk`o{3 zu*x4c_-+{)6-tHdd8-b7xd}5uSS_YT!{Ze%?;&-|gyf3Sy71GxiMuVHp!NQMH^+vM zEp27{z2B?^v-#btkmK*99yN=C#{gkvqDoPD;;+JfxD86;ZMt=WHMK|4f_zYj%N1b_lZ2 zt`*S!lctxN=Yh&R(@Td7c#u^a9h7|5S;L>*l?>PvB(!rzjLRxZz3s{$f)r<{Iku+!1 z)J+OMQ*B-TiO9)v{&nA4Khgmq9PzWdoFNaAbNm1_O&XpU>=!=q%I)1xemh!6ypf)=AC@$>;Jpc_{&-S6~=$#5nx|i%`F-D+0tJXx>pmLSy(==ZOV}Gr^oq| zf97X%waOs>&%BW*gc2iVdTJD$H%%b^Zy3*7>+SS30zGKbB-m`wJ%L1-j@XwJ$A zGZc!JVM+`Bj#Q)NJ5zWStNc@^UzIk@L64N9r%Tne-si(c_c`+{To0BXzT>YN_y3n{ z-oG2O|G2qh!yEp8DY5${bp05yB!BAO68~DO{43I@Tf#l~mng%(*5ki|%b&}tU+aWE zRiB>#HNAm8-aAt>UfDB2+SbMA_owi|hgRLB!bK{Ie+JG55x+XN6tu%lK0)eQ(YNsx zq`OQw)mI*!GSh9PH}!w3tukNW!T51c*_;aSYTN8c+Pt+t>zOd1{n>9W&wpbR2X%cI ztm%Cs!V<~@a+;0LLYUU#!hG1hBl+OloUtfV)63H zgrN_lBP@1bON4h@$BZtRehoXK zo@3GMCuP{!$LXIhhJ)6wsAc|R?|&Ze-z>un!nzhA-pILS^bZ$aP%r5vT^;o-`egd=6lhPVeY(MQ)+42k2_U~~jlq)rDLM@Vz zP<&|eZ=?AS?ASK@{YgOup>Ez+jx%lGgTX(uhwGnGQ}cf`LCx7bi!=LI*ufjv^qvvt zVhKH74ZUsd#=aiNL&Gef!k+FRCp!60T5*3ugg=D>zhSF?_HVpq9qW_W%>O2V|7@dw zp5CA7-%pw9zX7DYOY`VvNnoOP5V$y^C=mmO)!S8l-V8Qoxg&&?*P#y|7p*V8}XoKc@>gpQ{ju&pal4Th0ueVi|gjM_ml08jhhU zpetU{PISM8RH)E+o`jzdZCqKL;y&TyZiqibhM!n-@06G*-Gn=<{EKMsY#$!`RjKh0 z8?fw5_G)oI>xn^F4r4BnfN-yL8{If9O?h`0O)4Selj$-?s=n@i## z^3i{=n);ppyb`8LtKebPSU)lZ6l9Twk^;%Nq-ygUcXi@*fXRyZElLD#twBV|O z46%u-?Z@W+{)hASdUJ{@`I=P1LTrZ6{!dzje(fT<9X5sV$PO#GJ{tS<>U(Prw?*n1 z+-WiyxrLYPhXu>r`3vVF=sh9JKm?#k3Dj5whUX!$8O+>V!y^zaUS!3E!a*GkO4hge z9bsOBl`&i+EnVpAs(#EM=D~yrU=sX7;|X4bGs^OPwF(zbfIHK&+2YX?@UeJFk*=PT zKM-`42v;supNHyaKCb9pV{}?;IbF#|23r-U;OU3U;mc5AQ>!6av$Twx7_+sXvc(U`v%Qu79^EQ#hko3uG zcgY$Ab|f4K2=R=K1Nngq+0TZ%TXff3Zm9yM;}YiVK~8q1dk@s#1zVw2)hhy&| zf)(vbg!e2Tgd*k}3cV`HyW6nCvAnub4eDEmTeam#5PtXJCa)81n&21TuRuTqbcxeedOWzk8=;zy8y*47uK6*`50;^(Y)YRh1eHX~dupo;xYRu)CT82d zrKGezwnSvAhA35?svFvYnbabrf=C5queM1eVkbiWjziy~u=Yt1SV&SGKrt4vy$WjhX)oDVNm8sz4MEL(PnK64xZ zYK%s97oms_F9R~X24Lkn@?ErpEn33g_k6{oU1b&ip7e?I%38z_CMrkpbF#KtO2`(z zPY}H!Y1E!9_*1Y_fY0GLCz+`()3M>6WK`X$wIa5|<`4zlheaqFQ4m9NeRnQWRVFs) zww)e2-wm>F_h#YtvnyMLS7l{)3tY*VY)}KCsVj~JsEI*F^(DZ$SQ}LiefUhJ5t$^S2j)y0dnz@O zmyWOibtz&(H>&X+UzBI2&)gSEQ5cF*;l7fP^O82O2o~FZt%8Ys)RD(lUZ8D^@BB=e z!<1$W0@%?39P=d6!23I#yC$tx-lfNKqQu>Gk)j!IQ zsKJHfrWb@~X)XueLeVt_WY*)3wJX?^QLdqz60;RhB2BCMY_+A!+eQe9UCEy&IHkNo zW=>|KrzFVIs0JSlcD`}tGW7mdTmUxtP+nk0rcz*AeG$^n&e6&p{mI_;X!Mcg$O#IE z@1$M&4L~D;XqXnYCI=EK&Ku@3d>J74!2pB+*L&dRB%B;kIy_xXVcFcqH6zihQD$sw5+9bn@kMys7rQ=XEcV@X-qf9Jv~N^GyVJ*; z=A`sQWfMTHN=^n#=CD($VUp&VX3se^Ot_1ne#NqHi!NR3I9BEF?^n1| zKxybLc?(@&G`_=~z%1YztCpbh3+o8Ea?3uV0Rb6o=nZ%*onr|F?>&Di|6V|3HF-eGs z5b9{cTY{)yQe@G4`r+%t+t{jHwoU`tio@}2p9<pMZGNN_Q;#`NR=F{xNo4y)w1mr4`Bcu~Xv+(>M`-Wveh&p$GVf-t4<9f?3GI1)Jh1)q* zZ5#B63Xur!Up7GEeT`X#zzzT8tW!_I!bE%Ld^iLhA!Gv)-K~yXe-A$H0S0bETF0 zNdm$?=5NR)2Cty6yLYH@{G;1xsfzkOV1N6)Mf`1~R2=kNW$^^lRC=g<*HbCk5}Zj3QLhnlpV;7b<;3%jNST|wGXpy;p@$E}HDvrL*>F*6PLom_F{!vL-E zu99Z`ZM3<0)Dpm>m>)cWEG8LAcou=pInNLuPQ2s@a9 zNxGx=#K)?wM)Xt8^<~moZr{9Q(B$qGQ&n3YuNf z{tHLxt3>D$kY~L+{U)~Zd8L&#;ScO-BWtzfH1+*mhzo@sGq%u|iBhBPKrCha_=s1!(oW1c&KR#Q8{OmMN`gg zEL_+T3#4fT1d&7DKOb7{fP=8v`v(--b65rcAA|X*a2XAGtlSjy7~M=kagrm=*p2`@ zKM-60TKgP<8&$L_Y2rNjNf^X=Mrom+%;(Mb3Cw<)joDsfh97iJ+{V1WfukR(MGB6` zxt0`Q`Wf;S8Mxb%w4l-&^Wk5wK45hKnN)4tCsG?%7q0t)@jpmWjta7tLF@g# z<@MD)FQ=hADM@*FW4}saU3HDv;SGrN@NK&wTDIYHeLofKcx~;ZVIMPoYD~vi%YV=q z6LiBXiTbQ_Z5-GpN>3Dtn?^A9Xu5ygWo`bov4Ref`v+eC^dKp(GqS@{3Y8LI8ApgM z5ALv}wS-pcM`M(}dGHum=lTEOTI_tmIX3^4n%kM7iyCHZgz{-|4vZsuL-a6SGFVXJ zjjAEm*Mos>I2W>GVQ-Ozx_fEZ5z8-@q`AwN&*VslrIGZ|p=auFPc{X$VICU|er^Le ze!hf62#vO2FW^XM#!y7c;vSq6vEs|-m=?C?`|x7vbe5)^m0b?(e$1xHW1NoKW4n6g z^n(Yy<*R_T5M*$8MCmo6=a=l9>1kZcaBt0jMEdqV+P^$@9U@$($O(>6rg#RAuF=;R zGOQAC0aWdr!p=QIpxT{HJ@%U|9~FNr)WikA)N_Qncw>X_GDsn$W@D;mo~MeUnX@nd z_Ao4)-d zEPcIW7DJ4L>G~z?M(~@ch)@~mMGo4$X;HvApTagN+PSlH?=Bp@ zCV`m}qo&Txl`YfHIo?%S`A6;cK zA}sg03}-!Aagz~4wH}I^d3cB)6@2M1)es6 zo0iv}1c*UK7RpPEBZTg{!3RulL<(2t_(JFt`KybF^-zL~Ys~iO5g=<>k#TEvgJjF}PU`(k!tXLK&ljyF zE9=z+C6DCD8lLL{|73{G1KMF1n%8H4$I--MOYG~1FO6eLAq+0os%>mTCls!I-b%!l z$3{urFkP$wXF@ZHrAT2=sHcO8P$hc}ijU>BIYs5?jo5&=JM2d*V%r%Xxq{Quewpwl z1W2dp`sP74>+-$}zNheDUBmk0X9^gF;LcZxWs09S^`cf**UQjc6#LQWGS2_P=cfpk zYAIPAiC!}nmmP29=Bv_VO4F3;ngJ^eY4%e&+zS*C!;7H|8pis@fh_dC`VFilIOLh= zo==*05E(9XAIANAzcyry)q3W7GH?r)L zK&>s+I8PPNqH!2TXv!s7lN5FlKNRmBx<-8X=p7wbikG!$UYrp8iN9zk2La4;H1xdJ z^xS43K|X#E!tzc2DNn6tf-%amw<>jK0!oHD_Fj5ld$Ot@DRBn+Ri0;}v|GW@2!M@XNmDv*x|p{t(J(H1iY z-GhwbP<0ZOLrFSJX{}vU3vPl2A(OQ6d@zBg{<#-4_SZ&V3l12pxGEamxpDHIv0*|V3(*6HO-f(jjxID5q}Y{Lr{%y6v`>ey*+0tV zZ&%W?yAE5tg`9O7BS=fyqs>cf1Ae(lkp-L!Yt30ZUqbZI=a8O7~Q0caTB-0=r> zlebSx_=(V$2$!h|-Bo(mC5_P;{b4t}!r!w?V|8_@i(f?snC{FwT(iHO8xpiHvD>dY_f-0jWV+i zW@CC^;#iS8ig%STMDg2iqjGxh%1hx?p$VD+uI}?-|2O#5KV=KJX7{N_KrmZpR+d;@ zcPWI|+=qAzT?%CMk!{m3veJ@DbLbQq_yGEMqhz#3@NfBObMqH{l~H7%-X;gmAj7rD z(vY%FrNe1yR1x8@o3)q4%oP`wpMh#)L7Zvn+yOnot3${rD>2X*ym*v&PxL zdx%12LVL92e=l&^w_2HAKx*qQFYQ1})8o_z-&mx_$3q*#l92V004*THUez|#AO0L< zeVMr|i?SG96qMVFuIE4i_b7l=DNkf(n(($*f|z%QUAs0Mk%sGIp-1(#hiI05R5-J? zx(*aHY;a}%fCshG0FWFlr;}9GC%!OdiwLagMvI?sLd;I+@OjJfBw1I4@FJefBJ}LA zG+kcu*-Y*&vRS!Ow#oCb%Iu!yvizEPcy0nzCRS*87QS*Q69Uv6DZWK?Lz=eI4~DZz zf<^)0w>*28i?29MDJi!jP;a=x$B!0OsX|Z_iE{+g0QC7#tkIBo96{|!z-ZScE|Cnk zA@_PPEqPu|M>QVzgQ`Td7i!>Gxmr;35%pB8QvxL_(THb+{G?8_oIQ~i4l8db!2E%x zBH5*4J8?_RoK`a)F!K5#*Rk|$K>)y3Jai?8LXhZO6{%o0ifsZF`3O3Ew06d)lLCN) zmRh6!gY}2Ic=@h$RqWiD7p93)w4YO2+7g(c$X)a!FP-pOG!*93L7~bWlAx!f2eJCd z2<+ED+=#{yp*1!hKkSZdn{7MKgBMEXT3~fC=@E0S-UWNYso`pHfgywX?cbkCu1cuYvMqE$6I;|k>?N^w@(?@_8g`11V4vz092lbT& zICJ${qHO01PIuiXOi?s~A>$7lmSqLiG{!napvgPk|owpvc|Loc@V$F81uQOWscC4TvX$5N0%+}K34fGR5{c* zC%&#CyS(tfgrd^g785r7yNDNPLaZ)!rF(%Nd166PUD1PBZ~nL#=PDkaI&~2yq_*6j zaIc)^+2}n#i`fi>>Jv6i!`bm!hNnhhr9wA6rK((K@;b_gxw6P@spkj!f@&`6yB@&c zBBc*3m|4U$Hp}Fa>df||GGb@7M8v0T5mw$3O&(Ox)e^6ifyR>5~p0;N*K zD$yt3szth`A$6v^S0uMp^tJr$Vo1qdGW*MM_T`54zW_Fg^l90x$<*9g#cZLG_jn2q ztl(Fa71aQC2#KHMQ`P?9E*F$89j$e=Dc|26d+9Xo4;%@kqL!426N4yR(dO`Ar9Ezw zBHLV9+`IV>Wg!Cp?Ej5_LO?hLn-SP=wZ1~%FAXS{qSjX4NfNPJ=rg@WSsJn@ctymB zNbJd7hmMoN4>11JymKyMy86-;Qnj2tiKZTdgH-tasG^wvp`LII6*w@hhG-Sy+s7Xy z(IdAL+4n;eKUmR|J+^#0Ws6D`W7%1E zv7AhDXvavWqnn%`wYYKq-4ew6J@MQ=kJ0PxuRuHxK}kc->|=22Ca&h^!IVO|<4wvB)1j(;rn~=pO%-&N2zzgkMIG zy#&%TH=aGh>iMLC}rD=72s8oslX`1qxVSFgCy6pV~}AQHZ8%>a3e| z-dgI9Q?m+Jw`e$>LWUGZgdMaTgPiw*l8Il4B5frUqw0{r*`%z_M?B5vK~|@ z$nAYAi9 z;{v+ra4-_pPb+SfX&O7JgP99~dFdRT_58)ftiDBQ_~Z3m@d zsd~z>de`F8CeFMiU4x{xBz2IsSgk^UcmaM%>m=Wf_f+{!3kZeN9Mb|*K6vxbYo#h? z;=dck+<$bu+Nha*oxVNsoEZ*Y+dzJc1&*{a0P5XOaq!6w|GX$_+gV-4eYMp}yrvB2 zTz#%4zEuB(?nMxTHxiE36eTY6{v(kxDk+GyqVmjRVwC2{J}U4_&X(}Uz`o{MxLG`s z!Nn{iqyrxCF&%!hHWEl8Xg8;b^`#nib(zOA9mV1$6W2Xt}&0<8B2UX?xY!uYmYwpvM;|g!fj= z>bq4eUr#;$Ci`0~_DK%KTgf*YvNg9r*Hq*CSOM>J;vE8b?OVdbb@?E2lLm5C6>3oa zG_i6aJG|a2MPTQEJs{C|PawWe_fhMo_J`V-kc^IK37)`ec#xUWcOK<^@GGti-uP{Q z+KE`~t4-F>?ya8(o?e5qAI<8NKi8p<(Z7AOjl}M?@@8yWfzB7S&BgUZ+O&>di4VKm zgwCFi1v7r4uO4TMCQH+JpLQY6=bnX2?xHB$d-(l@D0{*%a74GDMX0G)E3)Fz@=ElM z^pM5TAs^ZM<24W)kW~DAGO?W_a_>78`Q;O|UsEC*QxK`lDw-*nrUs8>FYrgOROgdG z)a{pw^Ylx$rkmGeM`=X`XX~}&AVR=Y59??O-g-)k>;TGa=mP6RzfTMS(~8KUm;kU_ zk%Mld`0gMueS04R$N&o|->}0nb17Cs~ zV_aD&HtzU%Hkk#EjyWSaZ#&L=ky1%+xVxr> zb3HkFy3brl!+ZMvZ^>Av-bdLT|N8Wq? zm5boFD#p+zN+u=wd-9~1nY!o9U@CY5DsZAqxU_?zkOs`O^&qeXoeD@#&V9#B0?m9Z z3THu!8RqO~yW6>`8MPn3aRl6;6C2tpZKdx7RoxnOsa?CLXz{?t#i%2FJ&yA%RS7*v zqlM$cm7>n=h1MH`FvoFZx8=MZ3Ri`6quN%6{a5I5D-oZ}dxdb7)rvqCgyq6L^_JJW zrwdGs9kx=-)BKMhhp0hKo0efss<=M6+wO^@O|5~hY5Y8Zdkimm+B*vUaQz=ivZgniM3(%7TPAYm2cW;6qRGAwzNU{{2w4Q-0jFWLXNzraT z(%x_qWRD!c*Kgtjk7&P>p7{0VOcFP5wWUADq0#0)K8-!^5}UNt6lbhFWBK70_M$EM zYZK*$<5Zb%>tl*;j~L-~vx=Bbcy*{}7uZ9zA8m+Dh%+=+B)fSR2ThHI`}zk+mLH#l z8lxsgfpq8jUtN6ujdp(jcWx9HEbgwJx{REa?grHxsC(~w<+Z2?%-(e2@IQm5v>A&3 z=mQjAzFzxo+Xu;Wl2R8i697cKusq$@Q^Nlb3Mrm87q^++iuM>K|h(Q6suu42yvz`In3h==j`YT#S zYnSw_-AEzlU+c>iEdsXYy7tFDDJrK^lsLqn+zgn(j2`}62WZPZ7-vqJP2cD|YiVdE zq;T7MxD2W*+Q3;9|9pHW=>|~)Y%qoA=Kn@NhFa?!&Zty1uucf%u1nJSkpZ2CAGHHa zV@?i$qJy3-iUp1K$+GQP3M)&bWqU3erOZ7V#)c*K-6y1bPjaMCZdxe(0F*JswvJUH|I-9GB`H7uBvWQQ>M2h~aT~tkL8V#y94WkSC z&$a;GI$y<8y{jIAwimhv^Q??zp{qG((8(q}Fx)`oJYfTf#Yll&I< z$26yo(F)4RyR^Rymd>M?;SL0kF}JbHD#SOF{F@KWN9ou6Y$?~5SutOfKd=J#GXO#2>is_1G=ty^E03g} zdiFPp64O1JK44eHv5R_q8fs~+R-)zg`bliwQhCW3s`FXP0le2h_}hQJjWIg=da=&Mmv0248X znILBA(I{WT(TAu#jBUO7j;<;5BMkq{=zlBWxa-g;*pfX!N)puO0)^1_y zS|BCl*3+B;jh{fM1;^-Wat>$06wajY{F+)`H`;4-Q{rV=dl3o$!j8tA_;I;ZSfY@?1YEen zhi+=;`Wf;B(m_CuR*bXwMh8j3=JfUY#``$d!(oa$T%#k8iW!Abd>Tu8;iz!2nU%nu z1&okr$m)0#r}y)5yc@^T#w585Dvucz1e4qTofeFb3PPaxvxBuGh;Fc~lkm1;QuDoe z-T`^Dy8>2bYY1w5?Gc(CJw@S!JBl|Il^p%*Fi94@DTffZ>*sIbU{RrhYE|a6YgB0# zjf>g(On(Mv&j(04Wz5T=QUJK{4WTOC78Ngn-23^YY#h(~Prb>}0CD4{^qCIe$3N_54BJnJWvM$zgdz|1Uu*5H2(f$1N4)+DeQ^gN(WPfp0FECjf&5nGNXG5?`eP+#z`r5-d~jUf~%qb;T&Zmvsn@{Js7 z$)-9cWv^DDhuXI3V&gsE7gjG}BJ0Y;T>Q+j*zDYEP$Zvnp4UZAM~pWcY%ELqCc7Og zzzZqXd};@3t1Jjb9Tu-3#u~ZDh+LTe%3gj)!jR)Ms?rpqR*M!D82j z0hIZX!0LcY|Lt|M*{b3Wsfl4*96uFHuB}vOmM-|_EC9g!XO0(^AB!JLTLlncVDo=6 z6|{~v@2F8UdJ$u52a5ipa{nItjS#%cSHWfO$!bw>)RM*}I6iSnLYmej|72n%`yZBQ0+D>*pB6NSlVryN0uhKsa$0X%FP{=m!c>1xPGTvS#)kr+il{ZY z|Clg!X_pgs=5ey&7f3iH@ept4;*Td&YQIic3l_7rgxz`;BgGOL;=OrqO$?j9ac0dp zKegGuH;2WSY9xRW?mn`v4nRb2lc@u(i6n!m7B%Rd0R94ouxXNU)_bvH-ckPm&Pm%| z&L?^&e4e=JLU~BKa6zNS8Hoj(oN=y$F+#dQKHn9^I7DomMI&@Qui~7?ywTHl%6b zFaM925uuiG5(qC|hi9r>UM4oP1npT}%AeBZ*4$SEH%2f)G4(r~iU#=S*{KT8ocgAm zp%N+<`hiYMS|V$S8ED=hR*=vvBM_XmT$~pQR31Sai+L&2M@ccJ{pf80GUcnI2@QEL(6D3!D(#q11RVXfu zeViaKfj%zUk=tOdCfl5vU>-%e{eYsUl7z-Xn#55N^l2f%mf7khB;dhLN2_z8r0k^` zV(2ZUnnXnbXl2qJ0NmALf&fGuEWaJQJe^^u#;Hm>UJ)!1v*{2Z`7o(>?7t5X1 za|`iqzWkyq+(Y`fTvG%V#_b>^gEmFIk2Sc3x|Mbo;EBbSYv*Xqwdt=Lio zIsYiSpXG%=oDna>T|~#|9DlbRU|`7dUlAHWGmivk+xoKyvLx zFx?ZDL00)OZV0md(0u5S0AYe4Z896Ddkvs|^{;rleyKgl#UV;(K7BT+9JdU%u>lm( z4;iSmj;4eMeO#D$2F}m07wc|&{GTO{&`#Z#Mekb^Z3J4%y$7BqMqon+R9L#~0q!-s zeo(FU`!{9GJB0pO9=s}HXzZe)Ev~&3y9jpl&8)_5CCPS|SCZu0$_mWj?-TAJwK z%D0C1VT>cExhvRBUTS0hSj?^MsguP~W{gR=k_i^>5M=*IR0TPZmbY6xMA&c&xFk!4 zo+j&JkGyII^7xr@s?+b{Dq$o9>A86~9mz(#rWAAr0iD8VPKPy%0j&$L|4B|!!8h&f zS$%8Oxj39p9Xu2KtQf(emSl=QGtDehdCl6W0sdOg!&X5?>)Ut)h#4Urt}*0eB`*L$ z8rx?%WU(65Zemv=)=Os&PZq{uZJ#dRSeRR-cWeM_k_?O%gpN&ERd8szlo{uMvQ5=X z_~7^U(yN|-6Raw8kfJ-Hfwq+JdCL(tBUGT$}TOn77%Sli_U0f1=FwoO@d-J`U-@AH4&3aY8(1iB&j3V9 zy&IVHhe|AV&dLsdt(ZO^pGW1S`L&tCEH~Pzz0!|<#=n3#-X>*K;bJ{fZvTq?Q)%kt zcDo{awEOg9IS$cC5cIVvF%nzYR-}upG@wIvkDsgL6p%D^7-zO{X7VmhIV|XqDQcoW z-WB{hqm>H7|LQE`+OfNo_4Ii7G7Z<^CSVP@$&nDQyugplBK;bK#Lb7f1{46~{9};- z9$bfnedggvoNF(xj0A(*Ad>pBo6hS?EDl5V9BnTSC2E4pns$uoeovv3h6y{|mOgHD zv9C6D8O~w9uvW1Qj%XIaETRnfC`dHitbOpT%$ha{N?LoYMZx~_(+k~D%yM>nlb2&E zLOGA!dQH4ayEi8ls3^roYE^#I#f*fk1wbTU`VV-gte_4Qd4)|Fpe*J*7 z=?y$NcO0Me)M8DYEm)2=cEF?kNqm2D&WW8?d{%;#

GMPFs2M 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 O{gcZE0PV^H0RIDgdpk1# literal 0 HcmV?d00001 From 8394d4c05f11948167dbcf63ddefab0f44d80170 Mon Sep 17 00:00:00 2001 From: Honza Javorek Date: Wed, 5 Aug 2026 17:28:52 +0200 Subject: [PATCH 07/10] make linter happy --- .../scraping_with_apify_and_ai/04_tests_driven_prompting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md index 226e24bdcc..0f050bd66b 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md @@ -54,7 +54,7 @@ When it's done, you should see new files inside `tests`, most likely `sales.html When we run `npm test`, all the tests should pass. This is an example output of the command: -``` +```text npm notice run node --test tests/*.test.js ✔ parseMinPrice handles sale price text (0.532625ms) ✔ parseMinPrice returns null when no price is found (0.06775ms) From eca531432d1b3ce941fc71f1fc2d0076a4833969 Mon Sep 17 00:00:00 2001 From: Honza Javorek Date: Wed, 5 Aug 2026 18:52:04 +0200 Subject: [PATCH 08/10] explain stuff --- .../scraping_with_apify_and_ai/04_tests_driven_prompting.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md index 0f050bd66b..0a21656fce 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md @@ -12,7 +12,7 @@ unlisted: true The README as a source of truth for the AI agent gets us far, but it has limits: - Describing a large set of edge cases is tedious. "If this tiny detail is a certain way, process it as X, otherwise Y" for each situation is possible, but messy. -- Sometimes the edge case lies in how the HTML of the page is built, and we'd have to say "if you encounter exactly this markup, process it like this". Pasting long snippets of HTML into a README isn't great. +- Sometimes the edge case lies in the page's HTML, the text format that describes its content and structure. We'd have to say, "if you encounter exactly this HTML code, process it like this". Pasting long snippets of HTML into a README isn't great. - After each change, we have to trust the agent that it didn't break what already worked. We can prompt it to "go through the whole README and verify all the behavior", but that's slow and unreliable. - Our scraper assumes certain page structure, but that can change over time. The README says what data we want, not what the page looked like back when everything worked. @@ -35,12 +35,10 @@ Let's start by adding a new section to the README: - Use red-green test-driven development. ``` -:::tip Test-driven development +_JSON_ is a text format for storing structured data. A JSON file can represent the same rows and fields you see in the Apify output table, but in a form that programs can read and compare. You don't need to write these files yourself. The AI agent will create them, and you'll only inspect whether their contents look correct. _Red-green test-driven development_ means that whenever the AI agent modifies our project, it will start with expectations, run the tests to let them fail (which verifies the tests actually test something), and only then starts to add code to make them pass. It's an engineering technique which makes all development more reliable. -::: - Now let's send this prompt to the AI agent: ```text From 33510cbd60c5d70bd2d640e58c9f6d7c5482cbc1 Mon Sep 17 00:00:00 2001 From: Honza Javorek Date: Wed, 5 Aug 2026 19:14:00 +0200 Subject: [PATCH 09/10] grammar, wording, and a lot more --- .../04_tests_driven_prompting.md | 66 ++++++++++--------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md index 0a21656fce..9ccc1d4289 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md @@ -1,6 +1,6 @@ --- title: Using examples as a spec for AI -description: Improve your Apify scraper by adding automated tests with real-world examples which an AI agent can use as a spec. +description: Improve your Apify scraper by adding automated tests with real-world examples that an AI agent can use as a spec. slug: /scraping-with-apify-and-ai/tests-driven-prompting unlisted: true --- @@ -12,15 +12,15 @@ unlisted: true The README as a source of truth for the AI agent gets us far, but it has limits: - Describing a large set of edge cases is tedious. "If this tiny detail is a certain way, process it as X, otherwise Y" for each situation is possible, but messy. -- Sometimes the edge case lies in the page's HTML, the text format that describes its content and structure. We'd have to say, "if you encounter exactly this HTML code, process it like this". Pasting long snippets of HTML into a README isn't great. -- After each change, we have to trust the agent that it didn't break what already worked. We can prompt it to "go through the whole README and verify all the behavior", but that's slow and unreliable. -- Our scraper assumes certain page structure, but that can change over time. The README says what data we want, not what the page looked like back when everything worked. +- Sometimes the edge case lies in the page's HTML, the text format that describes its content and structure. We'd have to say, "if you encounter exactly this HTML code, process it like this." Pasting long snippets of HTML into a README isn't great. +- After each change, we have to trust that the agent didn't break what already worked. We can prompt it to "go through the whole README and verify all the behavior," but that's slow and unreliable. +- Our scraper assumes a certain page structure, but that structure can change over time. The README says what data we want, not what the page looked like when everything still worked. -There's a better way. We can save real-world examples of the pages we scrape, save the data we expect to get out of them, and let a program do the checking: load the example, process it as if we were scraping, compare the result to our expectation. +There's a better way. We can save real-world examples of the pages we scrape, along with the data we expect to get from them. A program can then load each example, process it as if it were scraping the live page, and compare the result with our expectations. -Software developers do this all the time, so each piece has a name. The saved examples are _fixtures_ or _snapshots_, the expected results are _expectations_, and the setup for running it all is a _test suite_. +Software developers do this all the time, so each piece has a name. The saved examples are _fixtures_ or _snapshots_. The expected results are _expectations_. The setup that runs all the checks is a _test suite_. -Running such _tests_ is much faster than checking things by hand, and both we and the AI agent can do it anytime. And when the website changes, we can replace the saved example with a fresh one, and let the AI agent fix the code. +Running these _tests_ is much faster than checking everything by hand. Both we and the AI agent can run them anytime. When the website changes, we can replace the saved example with a fresh one and let the AI agent fix the code. ## Setting up a test suite @@ -35,9 +35,9 @@ Let's start by adding a new section to the README: - Use red-green test-driven development. ``` -_JSON_ is a text format for storing structured data. A JSON file can represent the same rows and fields you see in the Apify output table, but in a form that programs can read and compare. You don't need to write these files yourself. The AI agent will create them, and you'll only inspect whether their contents look correct. +_JSON_ is a text format for storing structured data. A JSON file can represent the same rows and fields you see in the Apify output table, but in a form that programs can read and compare. You won't need to write these files yourself. The AI agent will create them, and you'll only check whether their contents look right. -_Red-green test-driven development_ means that whenever the AI agent modifies our project, it will start with expectations, run the tests to let them fail (which verifies the tests actually test something), and only then starts to add code to make them pass. It's an engineering technique which makes all development more reliable. +_Red-green test-driven development_, often shortened to TDD, means that whenever the AI agent modifies our project, it starts with the expectations. It runs the tests and watches them fail, which proves that they actually check something. Only then does it change the code to make them pass. This technique makes development more reliable. Now let's send this prompt to the AI agent: @@ -46,9 +46,9 @@ Read the Testing section in README and set up a test suite covering the behavior we already have. ``` -When the AI agent gets to work, you should see it creating a new directory called `tests`, then it's very likely it'll use `curl`, which is a command line program for downloading, to create a HTML snapshot of the Sales listing. +When the AI agent gets to work, you should see it create a new directory called `tests`. It'll probably use `curl`, a command-line program for downloading files, to create an HTML snapshot of the Sales listing. -When it's done, you should see new files inside `tests`, most likely `sales.html` with the downloaded HTML, then `sales.json` with the expected data, and then perhaps some other to orchestrate the testing. +When it's done, you should see several new files inside `tests`. Most likely, `sales.html` will contain the downloaded page, `sales.json` will contain the expected data, and a test file will run the checks. When we run `npm test`, all the tests should pass. This is an example output of the command: @@ -70,26 +70,28 @@ npm notice run node --test tests/*.test.js ℹ duration_ms 165.677875 ``` +Depending on what your agent did, it can look different, but it should look similar. You don't need to understand every line. The important parts are `pass 6` and `fail 0`, which confirm that all tests passed. + ## Handling product variants -Some prices in our data are "from" values. That's because many items in the listing represent several product variants. Let's scrape these variants as separate products, with their actual prices. +Some prices in our data are "from" values because many items in the listing represent several product variants. Let's scrape each variant as a separate product with its actual price. -Each product in the listing links to a so-called _product detail page_, or PDP. If we open one of the product URLs in the browser, e.g. the one about [Sony XBR-950G BRAVIA](https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv), we can see that it contains a vendor name, [SKU](https://en.wikipedia.org/wiki/Stock_keeping_unit), number of reviews, product images, product variants, stock availability, description, and perhaps more. +Each product in the listing links to a _product detail page_, or PDP. If we open a product URL in the browser, such as the page for the [Sony XBR-950G BRAVIA](https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv), we can see its vendor name, [SKU](https://en.wikipedia.org/wiki/Stock_keeping_unit), reviews, images, variants, stock availability, description, and more. ![Product detail page](images/pdp.webp) -Before we tell the AI agent to update our project to handle variants, let's first check what we're dealing with so that we pursue the right design and correctly manage all possible situations. +Before we tell the AI agent to handle variants, let's check what we're dealing with. This will help us choose the right design and cover all possible situations. ## Identifying and handling edge cases -When [browsing the Sales page](https://warehouse-theme-metal.myshopify.com/collections/sales) we can see several situations to cover: +When we [browse the Sales page](https://warehouse-theme-metal.myshopify.com/collections/sales), we can see several situations to cover: -- Product with one price and no variants: [Sony SACS9 10" Active Subwoofer](https://warehouse-theme-metal.myshopify.com/products/sony-sacs9-10-inch-active-subwoofer) -- Product with several variants, each with different price: [Sony XBR-950G BRAVIA 4K HDR Ultra HD TV](https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv) -- Product with several variants, each with the same price: [JBL Flip 4 Waterproof Portable Bluetooth Speaker](https://warehouse-theme-metal.myshopify.com/products/jbl-flip-4-waterproof-portable-bluetooth-speaker?variant=17549970440243) -- When it comes to the Sales listing, the variants are either colors (like the JBL speaker) or sizes (like the Sony TV). +- A product with one price and no variants: [Sony SACS9 10" Active Subwoofer](https://warehouse-theme-metal.myshopify.com/products/sony-sacs9-10-inch-active-subwoofer) +- A product with several variants, each with a different price: [Sony XBR-950G BRAVIA 4K HDR Ultra HD TV](https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv) +- A product with several variants, all with the same price: [JBL Flip 4 Waterproof Portable Bluetooth Speaker](https://warehouse-theme-metal.myshopify.com/products/jbl-flip-4-waterproof-portable-bluetooth-speaker?variant=17549970440243) +- Variants that represent colors, like the JBL speaker, or sizes, like the Sony TV. -Let's save each variant as a separate product, with its own price and one extra field containing the variant name, such as `green` or `55"`. Let's add a new section to the README, right after _Prices handling_: +Let's save each variant as a separate product with its own price and one extra field for the variant name, such as `Green` or `55"`. We'll add a new section to the README right after _Prices handling_: ```md ### Variants handling @@ -102,9 +104,9 @@ Downloads product detail pages. Instead of saving each listing item as a single Minimum price from the listing stays as `minPrice`. Products without variants have empty variant name and `price` equal to `minPrice`. ``` -Save the README and let's prepare a prompt for the AI agent, which hints on which pages should serve as fixtures for which edge cases. +Let's save the README and prepare a prompt for the AI agent. We'll tell it which pages to use as fixtures for each edge case. -It's best practice to address a single thing in each test, so our findings will result in 5 snapshots, albeit some will technically be the same HTML: +It's best to focus each fixture on a single situation. Our findings give us five snapshots, although some will contain the same HTML: ```text Read the new Variants handling section and change @@ -126,32 +128,32 @@ variants-sizes.html https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv ``` -After several `curl` calls and much crunching later, we should be able to see the files added to the `tests` directory, together with their JSON expectations. We can open them to eyeball if they're correct. +After several `curl` calls and much crunching, we should see the new files in the `tests` directory, together with their JSON expectations. We can open them and eyeball whether they look correct. -For example, `variants-colors.json` should contain 7 products, and the colors must correspond to what we can see on the JBL speaker page. Similarly, `variants-different-prices.json` should expect correct different prices, `one-price-no-variants.json` should contain just one product, and so on. +For example, `variants-colors.json` should contain seven products. Their colors should match those on the JBL speaker page. Similarly, `variants-different-prices.json` should contain the correct price for each variant, while `one-price-no-variants.json` should contain just one product. -If all checks out and tests pass, which we can verify anytime by running `npm test`, we can be pretty sure that our scraper handles variants according to our spec, even before we've even attempted to really run it against the live website. Now let's do exactly that, for one final check: +If everything looks right and `npm test` passes, we can be pretty sure that our scraper handles variants according to our spec. And we haven't even run it against the live website yet. Let's do that now for one final check: ```text apify run ``` -In the output, we should notice products with variant names and exact prices, like this: +In the output, we should see products with variant names and exact prices, like this: ```text INFO Saving product {"productName":"Sony XB-950B1 Extra Bass Wireless Headphones with App Control","productUrl":"https://warehouse-theme-metal.myshopify.com/products/sony-xb950-extra-bass-wireless-headphones-with-app-control","vendorName":"Sony","imageUrl":"https://warehouse-theme-metal.myshopify.com/cdn/shop/products/13261_147__1_2e3211f9-de49-4919-9e67-006800a5c5a0.jpg?v=1559727794","minPrice":128,"variantName":"Red","price":178,"sku":14} ``` -With a bit of effort, we can see that `minPrice` is `128`, `price` is `178`, and `variantName` is `Red`. +With a bit of effort, we can spot that `minPrice` is `128`, `price` is `178`, and `variantName` is `Red`. ## Wrapping up -If the target website introduces new edge cases, all we have to do now is to identify them and instruct the AI agent to add them as a snapshot to our test suite. +If the target website introduces new edge cases, all we have to do is identify them and ask the AI agent to add snapshots and expectations for them. -If the website significantly changes and our scraper stops delivering results or even starts crashing, we'll tell the AI agent to update all the snapshots and adjust the code accordingly. +If the website changes significantly and our scraper stops returning results or starts crashing, we'll tell the AI agent to update the snapshots and adjust the code. -And whenever we're making any changes to our projects, we can now make sure at any moment that it won't break existing behavior, without manual probes or stressing the target website. +Whenever we change the project, we can now make sure we haven't broken existing behavior. No manual checks or extra stress on the target website. -With AI agent, docs, and tests, scraper development gets not only much easier, but also allows for a much more reliable and future-proof software. +With an AI agent, docs, and tests, scraper development becomes easier, more reliable, and ready for further improvements. -If you happen to create one such, it would be shame to keep it just for yourself. In the next lesson, we'll publish our scraper to Apify Store so that other people can use it while paying you for its development and maintenance. +If you build a stable scraper like this, it would be a shame to keep it to yourself. The next lesson will be about publishing to the Apify Store, so that other people can use your scrapers and pay you for its development and maintenance. From 14f0c961a2e68dbee83d35bf7bddbdc7a1b45ad4 Mon Sep 17 00:00:00 2001 From: Honza Javorek Date: Wed, 5 Aug 2026 19:16:09 +0200 Subject: [PATCH 10/10] final touches --- .../scraping_with_apify_and_ai/04_tests_driven_prompting.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md index 9ccc1d4289..75caceb795 100644 --- a/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md +++ b/sources/academy/platform/scraping_with_apify_and_ai/04_tests_driven_prompting.md @@ -70,7 +70,7 @@ npm notice run node --test tests/*.test.js ℹ duration_ms 165.677875 ``` -Depending on what your agent did, it can look different, but it should look similar. You don't need to understand every line. The important parts are `pass 6` and `fail 0`, which confirm that all tests passed. +Depending on what the agent created, your output may look different, but it should follow a similar pattern. You don't need to understand every line. The important parts are `pass 6` and `fail 0`, which confirm that all tests passed. ## Handling product variants @@ -152,8 +152,8 @@ If the target website introduces new edge cases, all we have to do is identify t If the website changes significantly and our scraper stops returning results or starts crashing, we'll tell the AI agent to update the snapshots and adjust the code. -Whenever we change the project, we can now make sure we haven't broken existing behavior. No manual checks or extra stress on the target website. +Whenever we change the project, we can now make sure we haven't broken existing behavior without checking every case by hand or putting extra stress on the target website. With an AI agent, docs, and tests, scraper development becomes easier, more reliable, and ready for further improvements. -If you build a stable scraper like this, it would be a shame to keep it to yourself. The next lesson will be about publishing to the Apify Store, so that other people can use your scrapers and pay you for its development and maintenance. +If you build a stable scraper like this, it would be a shame to keep it to yourself. In the next lesson, we'll publish our scraper to Apify Store so that other people can use it and pay us for developing and maintaining it.