From c312500f19d5af8050099ec268ac127d26ecd235 Mon Sep 17 00:00:00 2001 From: Idrees Hassan Date: Thu, 13 Nov 2025 18:14:44 -0500 Subject: [PATCH] Expose obsidian plugin api and allow saving/loading --- build.js | 3 ++- dist/birb.js | 13 +++++++------ dist/extension.zip | Bin 148965 -> 148982 bytes dist/extension/birb.js | 13 +++++++------ dist/extension/manifest.json | 2 +- dist/obsidian/main.js | 16 +++++++++------- dist/obsidian/manifest.json | 2 +- dist/userscript/birb.user.js | 15 ++++++++------- src/context.js | 11 ++++++----- 9 files changed, 41 insertions(+), 34 deletions(-) diff --git a/build.js b/build.js index be51ab7..1e11733 100644 --- a/build.js +++ b/build.js @@ -161,8 +161,9 @@ mkdirSync(OBSIDIAN_DIR, { recursive: true }); // Wrap birb.js with plugin boilerplate const obsidianPlugin = ` const { Plugin, Notice } = require('obsidian'); -module.exports = class MyPlugin extends Plugin { +module.exports = class PocketBird extends Plugin { onload() { + const OBSIDIAN_PLUGIN = this; ${birbJs} } diff --git a/dist/birb.js b/dist/birb.js index 1c76315..d82e1f1 100644 --- a/dist/birb.js +++ b/dist/birb.js @@ -1066,21 +1066,22 @@ * @returns {Promise} */ async getSaveData() { - log("Loading save data from Obsidian plugin storage unimplemented"); - return {}; + // @ts-expect-error + return await OBSIDIAN_PLUGIN.loadData() ?? {}; } /** * @override - * @param {BirbSaveData} saveData + * @param {BirbSaveData|{}} saveData */ async putSaveData(saveData) { - log("Saving data to Obsidian plugin storage unimplemented"); + // @ts-expect-error + return await OBSIDIAN_PLUGIN.saveData(saveData); } /** @override */ resetSaveData() { - log("Resetting save data in Obsidian plugin storage unimplemented"); + this.putSaveData({}); } /** @override */ @@ -1923,7 +1924,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2025.11.13.8", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.8"); }, false), + new MenuItem("2025.11.13.16", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.16"); }, false), ]; const styleElement = document.createElement("style"); diff --git a/dist/extension.zip b/dist/extension.zip index e083bd7b06913b18f5ff553675ad045c7c2fdeba..fdc7731738f10a746a90114d6b69dd65d71a3431 100644 GIT binary patch delta 26853 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 apHTnwJ$NY0f4N#gdf-mTj$-g;iSR$N9Q`!_ delta 26837 zcmV(tKCwc3>^-k_h#O|rOrmn88u1+<^-P)+t>jtTp!Q;Q? zUW|ufFdPk9wb6_J{OezHwO)5P3btE=kZTQtH&koxu((rx9V}*F;rH48?jHVspx@u9 zNjn?`^{_g=IqKCz)Nl7{6&fMk>(b7*p{cA4xDfn#= zj>d!TFnFx?dhM{%{T5s_!%;IFNS{H6I&BSuuv@9N!#Xuu`q!MDMQgZCL(635q_YT` z{{TdHuzqDw={Q5(Rode)-sLcV97&&C%2=9n=f|I8Jr@RHWfTULZm?HAIt;>g*a^F% z;J!6#2AE7R?1!~hqZQTz1|b}UgQ3h{K_U`#Z@vY!c4as`2GSBsuSem-sL<<<(D}#Y z8m+n(Si}-UMFHqre6F3!ZK!1_JM^o-8Rk{cstXQ;HO$oB1od8ROtVaX*Ld=#oB4X{ zZvG|kGpAM4-0@*+I7(OQ^=KHb(`p1MXEYhfwscCsSk7P6Jti|p%?*6ERjZE5t-7hB zOrg-k2=|-fe_JQ>hfd?0p`nN6RQNh5-eJx!gEzkfcfD5qTTo#^i6gexEwo#;+mw#_ zN~_8I3}S!|?u~F0cEdq`YQ9E|=3fP=kVlZd@rQ@c>1LzexYi82^{C||ki*!4@Iay~ z-CEdd1ZAqnL$XXZD(xW#;<_q3gtR%DJk$aqS3z|eG`thdgE>#asgZd>1QZUF(!Cs)cqWP_Y4lB^2^|tHvx5$ zZikIg@W20?P~&H7&{kjd~p##Ng1k}})# zJ@|#c*P5+%oir?ejR4YkU8jJA*FksOsfL4B0io6W2OUJoAOcS$ zAjI?f)EXZ3u+nY!?z`xM`JT#Y>FPBa(D;}5obf+hxu0}@gmUkQ@cG8T_p8BYS^zGp z;(u+v(^|*eYG9Ne6w+`o=t1hYT7&BA;8dn;5Z3LDfJN}XC{ss1c~)ADRBB9zbZDk^ z%rveIJRA^SX})vO{2`qxM~eo0fi^954ncmW3E{^yxeAh-lzV+@K~jMK%!Zl87;0)T zdLGbmwZiRxBYhIh$=46bKqkz~ZT6kH&4uayfCY0qY*fZ=RZ%)+yGYKU)3_g>Fs*12 zrHp1V0$?P>BMh+oY9_@*Va|Y(7tuLqJkZoi$M>foXir>soId|=&w<5-RMYbap**bk zAC4yNP?noF!SDZmJgSVE=}zS#l>tEl;kp-_GT5)D}Lu@GBTt(fG z4fIShJ%5Vd5w1kgdBvTA-4&xt3;$&Ve_~&WXmGoF5*3N7tt=X1u+iSZTjYvr90%96 zc5fJNjj^nE*@|{|8njRqP|oWV^?_9>sxCZEi_z4_Ib#btC9eYNfkl%@_=J|Y4JS#u z+#d*kc1rMr?WEePPtqXbr~=c^gU3i>v_h%^KzCspL&;XHIILCr;k>C$psL+v_{~SM z-D+4%#O&c{?}OE7K=uXpoE6vr)mA%%QFGU-P3^o$XHc=fn_J3v>jRkDf82-FlhPlp z(`K(5;y;x-{?)7hvDJp@v4y2{^2dHrI{4#%q#q6{!BMN*T56?7;c%4dR_gM)Tt>al22$g>xZzFDaH=tH5fyUYmYAKXqS16I z^=5ZU6rmN~LM29m^kO>k42KzznJxA%jGRi)u1r9N#-P{1AH)8jh3)FF8B*C`P?>mt z0wJ5x>yOtTziHJH*Cfl-Yuax;gzbb5#9%ay_q+A*fz4WN+@cTOh^E1PtBxHrjU&IX zX9+8{rj9C2EVnseQi&_9*gG83gi|siga1l|&jJU2E-Wac zaFcX@JZ!qqUr#=!hu9s4`caVjlQhSMQ6?&17lQ0d_*NK&vUMc66}$-}U=4CNC4}&1 z$Xg;zorJd4#eOuX4tn<_z4xG4@1D_r(Q3DYs%$BS?IFTN9@&)>{QK`w_dnYH`_`BKb!E=P#$0sE!@4^U@5sQb1 zSNKp3K}P;^ehd({^fUIR;UFrz*gxJyWw68z*QLKd6}NY(OZvDN)^Bv&V*ZT4Zic+! z!^nH|<&&Ku7c4sSl=9M^U`2|DkSU#4F%Pt#eJY(wc>~T^c#s!=hkdQVerl|T!Ed8U zKMWq>NdgXkmIVas0y|%S`R3B}^lZOe{8ZX27R#RsCx<6zpN{gU(Avag9>HEK{nHLj z37PXhHu!(@wt`Gg$};@Fs7y(&h1pCcyBQS{Riz}mnOV+cqY}_p3M!3_aD6o@AjXiA zwdKufqv4c*38Z9yb2D6B%|s={4pLIzTwPyVj!K9zq@=M?&8|2l%nMQ!);89b*P})e zuSogo`bH&Oi^_>Vq+~g_7S^5lTF#N;+D0zSg;7Ih2JJJGtz;{)BIP5g(P*qy*Q)Uv z%t<=<`ZE5BD(tw-geuHC?7|MU2jfk0n2ulNW9l1rz53c^L-0y^?QIUR1qO6uXT zHfZ(9*7PgP;>TLA4VC2AHCE5J;CfWK8GhtaXh$(P2ICsE7_8k6yk^dL*sO40@a>}! z`1tyxnj52LYnYZ}8U`IJ58SHs(P@qb&R<+bbYES39tG}P#ba*nT2!Jd5+5P&aXlAR zRQ9JzKdNYd5OtyoB0F5JVihZgh|F#cF_~S+?8L>&XnxPGYT{a}!gEQrn60>yvYlVa zV=b;mtOw@vtC1X{R0x(PZS9wnG$xdTQGu{$YB?pbj6rmx&5cJ)-tHKtu>|#3Hw(qA z^5EBB%{*w8asH%f1p+cNo3bVShvuQ1pxLuAvKZ5U+Qq_tv7~%h#o->U+i+Qj_f~jQ z^Ti5|TL#@=OUniQ^T#-~Bwu+iIPMLw3(0pv9E-x1Bunougi$!`)nIBugqpqaO%qP( zE?Y&d4o;jZ1M<}d{jk@^z7bopN1}$o3#nr!xaw&ps4av>=0a7~ULh-3E>+d*l}0+2 ztEdWp_NtIF&?Q2BSPeJB4VkDZjibI= z->hf+Di-yP<@$0hJ6#x|K3AuIuugmAi5Zhjr22ZLwzgAK9RPOYQ*l? z7|})&i2pKf;VgeRls#-PpzhPbyD?#ZvN6D!X1xuRPkQ4QObP6Dv9SdK(6$o{VLjvU z4tr!iZ0ij=f1UX&jpY>|H@XPT|5&M1GMll&h%Al9bki7FsugUebAIoZEJ?llWZBr* zSlx&TR+3yekceCi!g`@HfD@t8j+5*RTyDyy2=;_TFzv_yy9L@I02o4chM;GE6Jych z(P<5*=|C2|NblzI8ccgn%AdD5EN7Qjmt~)3mlaE-aAUcWjj?`2q@>aqk?OVO^*CIX zNcG%uF8ieHRI{j2<7s`1$qp=0UPgC&?K+sZ){GOwuCum=l7x&(=y$BGa3R50)T-b_ zc!IrX?_R}-v`x?mLo79wHv5`?NRkF2NCVdf5pu|dq{P~2Jq(5jfFPF@QF7FVjXWH8 z8|V-!PIMd0+E71C=`l-1hu17Eo<~KjGr83mD%GBw|8aSP{_&Z^k~pa_B5_i`F%mac z!wNQa9_v{WhZ|vLJ;s;59A-D^AHR9B9M)=?%)GTB;H>MG?qM7B?&Fky-$GHKWlHn> z4IK}N^#Dg69nX{28}!JL2t%S%=`MCE2nmA}Vygr80Np@n&w{vxr2+E8sW_(ChAuSl z5dVhP@C0ts5Y8-i@(kcSWXJy$p`S;~dUd_F5|c=WBI{wc7Q7 zv}gN(3_b+)k-sdgh}%=-5KdIC0MGOjHu73+t+Fo4#Lk>tS7M{C=EAkvNUyJLEXOb! zNBUZrt;dASioxr1lBRix{LqzVtiwbT>CoMR}aT0NhNJ(hC zai?-Kjps;`AdAJH=383yAnLh`T)B&%$~3LpPzLJGRmRI*YKZfrK<+-9XIOKYooQ5<0^O2_XybSul&a zETBT^`+2*6MOlQgNyI9n3pgn+(Ob0Mih8Pz2Q37svErkcSDYQTYPyr3ElN+iO~QI@ zJ-$*}o2s!MhG9&P*+sIpx=~q;34uewY;}Ee&Bt$yg0=O{FloKur7Ed+pMo1}Ys)LL z7BOWUUo#(HvlD5CqgjsU`2;@ELoEK`WcRSNf&?OerWB$1>i07NAMB5lDkzm7>|5jl zX@h?|ZaQ&~@4yX?!xf73bNqIX?5BRMhb%x0Y1r-!fggO6BbT`!Wst2&nE`raJWPAo z87CB!z(?dV>$vAziqyC5fKduZdfuZRLy7*xJjfeP>o#g=lnZeyAJcPZZoTHEcM2*R@B*2m3(oke$9QdbDgy36> zXW-aZ8)O!JPYVJOiPpUtHDA68G6E5Yo=R_swI)b|ALuehjN;@C#!)|`p(rt_JFNi> z5^frFVERQMgww>5XJ-}{Y``{1m`(D7&v)4b8~h= zPS{F9Z6}6>n8CJsz(5Fgc`#@YC@G*tkc}b-9X=afPlAOA;*Zx4AIFy1tl%x41f@ULs1b5in)md~BM}WBu`4qELHyp)1L$|xS+qohY zX-?{ZPpjv!ehMa1B;3=YtpO1X*)+&Fo|!JO+To+9c#Jg#XQ9%)s|?RL@&($wKzEWJ zM!9X=U>YH`%RT+vf|G_$O))8sk_!3EGCCbKv0rsKZuBmV+uRi6v;`ybTuX?5{jmtZ zwT1f>2E}ow>45GFc$F#i3-MW@QMe?xxNOEYiPptQ4j2}ZiRca!B5Q@!VS^Sm3^s=$ z5IurMIIJB}d@ufwzwuCM4z}{XNTiJDVeSCO9wXIahF2o$DS*F{j;4Dt($30|BYAxm zaw|Jg;FyM-v4+)g!1Kb;wj)P>7^S0GawzA!HMrXVtVJych(^}~({wQqVumqAw&+K^ zU+9(x{C`$KVN8;GEm80^I=54o)5dEW^CKS>;)lv3VVc@7@*i-vK1Jb4(#NSsV3Ib?(|XT(e|VOA=wj|Y4UGFHJx$hLcby}spP#Z zOSj-=(*c%#)FqBVw3I4+7Fwx^0{Ow1;sV>0C}+BfinTlXkMj}!haKW|_$3gn`39Fg z{X$E0l+lGHzqH)ygg7@E(3Kri${G$FPPk-TY%45?4SXbtaCMV~(^@_7HdWc)sbC4H z8k5FXo4Xo{iCqP@E4VO!!zL(>NH7J8+p3cvIBZw?^m7Cl8Ra%G!{`<&;iyx$Dnbl# zYYrO~g&u}0=BFJ9=(x6Ox+p_m$haCd=7D4>4RjO))(F`t8eUN%3p8R*4X%JszLyj& zr({)NIVG#Yr?yoIj&(7@QC-y6f-X@O*)S=Xj%+6~7SO5N#2OiYN~@Ms=XH?(<x?0a}0^Ox`+o++as{hKAF2B<>@xFU*jBQRfHQv|1_wy3Hot}sDySM zK1W&*BUqhv(HFaas0y1;%u6v0!}PRZ`jxCUm?p7_dMZ5ML@*e(gC!%97*v!DA(F+B zg_^fh_!5aKofOcC(GY=t-Fi$1o6%xxfkdcNSTQ8HV$1?w%;@AnRy7~61k*-(5o?2- zvJ^y2i!bq;h3{D;x3%fCxYp|+uEdd%M6<^t=s6b984gWiyyjk6rA7mLwITvx0U zqsLH}`%hkMxPd5rBhYMj$LnEA+>*$40b(p2*}V+W3@tjea49#C=?v5PRBfE*>t!! zNRcRXd)-AcKFG|r)rN@Dw-&(;ARu?7~RS?)TW`;SYzvqA}uMd7dz(Q5to=~ z0mh&BPu>7A{1*MDy@=chFzGI$YM3FqG-1L_e{xZO1*u1jSt{=z9wI`K|I2Q{t&=VM zjeqlBJBL>i0xduI8%GbK4*wU2qH?B)e>fy z=A<0dqBYD{adl}t3Qv2(7KNH(k##P0-nE8&eE|}qH-Mc9TSUlyjjq(pDRu2kUw*YP9O4+JJ;VHpaV-X&3Z6~AjMVPoC^#0EFABR}8CCp#3^+KH zM0m{wT{L>Cg81UNM%=~dPAE~)(g5C-BOZ-}kxHazm2zfuw?m-U{gX&4VjDve>czf9 zRpnO3DeV(!t2|v5=uIBPK@M6ue?^_UldyGvWKPTnqzktA++Cbdu(ELHOj^l}Gdm@% zAVKwWb7Zi~al|3t-GVlkAJSMcifuO|%>nKu2WinY%6mP}c&dZ!><;*1!AbWSP~^VT zN%_9_{i!T}uao8=d~s3+uOunaKndIo6_Sre|v) zbuCLDw@H&k=$O(=+7R@kq5vFQk1&wX1S0lL8`3eG8{8AH-}$RrlRVODi-2j8(1}`j>76f=W0MoD6*m{Wf8o8%Ld#H z^TU2w(=SPAGnZx}q$gr%Fv4n@01k^7cz$LPap$Z;V$@k><$t(gggAqpIg7a5szKqO z{)KKO85hqhk`K)*CzhVMPfVC*vg>E;jAo=_lL~r9>oiGoinMvM0p}yjPHM|Z1}r<5 zvq+&*LN2x`hpCs*N$IrLeX2u$IS7f_ib?IFiH&IE;{r^6Q#oTw&F45J5>; z2t}S2g9Iutztfxx0}DLr6e!V^9QVph+4=9g2e;un!?=-i&*~m=7NT!wYqDiew)6n!xxRzg#X3(d+OiYGRr9-I|KYPE^%H^uLhNNgrOLJ8S$N+xPsN8 zOO?gPAY`BeHvVNdp!zpeVL;T!41!Y#8TqE^#tYnGT92m7kg{8XZv8t9VPTPJ*t*B) z$AXTYY`v6M#oZIeAqNqEy}FT<(dT6Efj`q-oq;SCL9hB52bl`LB}D8d>JF{MzmTKf zo;LF*sDSAs9O-x(#b#jP3`dI*=IqFn5U;>4W0Q}^9aX<24J+M#cUV54B}ZB#g@&_}PQ2&iqLvB)+vyCWB%_mE&K8OZMGQ0H)nP1sOztNwHh*^-WizJ?KE* zXb*w+$*hcmNC*p3Fe1uinj}WpE`z>0r*9JV9iGBb!&ydvcv)O)HQeB&JcMxQy2)3X2;sX$a5){XB1H<<7kCIn;9Rhs z#(no*yG{AJQed+SCV}PI#TkiXx<9$c~BugTb8Yb3%NODUNt*kgKFYm?!)}47)|#O;!yw6Q}ybDRcFC%MaV#IA#M%dE5Hh=E3FQgdcY*>U@8B;_~~u&3J@}-N{EHU;baA% zIjPJ?<_xOU=_7+c>P32qs6>f{a14|FJbdvojV(jfwEjjp3G83yNXi~*fthgChfFlK zz2wY)s34mls71^uI&z8XvPe%&KgtM9w~sL?iq_**KmbHSD+fb5NFLF6;7vy*S6Edoh@96@5L{M`s5oy!}JzjMximL(*J^c!zg%^s^?LB0!(TcRA+i1hB$ z>JF=vq}4Et#RcebiYA5@&{5lx2Zl5g(lp}WF$~Vn4$;5_d8t7VJq|Dk8`FYapzs`A zkEZ|(28s+7%c8*zAd`E&%EAnhRa0ha+!A{UUQrOnCBWd~5VlZ!LC8!98KN|8A2rc` z&Mc;k?r?;M@B&m}2Z*Q%xx;U8XoL!J6Hb^$Yj}zVc{_y^wO59ji8kq9R%i|C)KSg{ z6pc9xms(e{&mH4->xGhn@>L@-EwpTFl$!r_p8PkgivcuZQnmA_b~IYN4N;V=&FL{H z8pQ8Nr)fCA<`ovJK!GK|PAP#Bg{?z>5{Dt?C?5n@({RqJ9zl(z&Hy@vEALT?`}_Me z(kqO{Rb=b!b<7PIo}zXqqowaS{)tka;SxK}oDr9hR3Vy9`p(RM8UYl(z%dL~Jj`J{ zD^A>-DscuuqTvupR_NsmBWz~9($jmhPSLv&!6BaBXsh-{+CAKy#?5&1cWlXjfZ2ge zhHNT$`*6ecEDfZJT0`x@Uk?D>^zKmKI>G~^6P`Yu{f zL-X0qTsph9krulvw)o7N=zp>Ja9Y?y1Rs#SMauxY`SiGtrcgo>E+|m70~J*VrITaI z6F&@7JWs7eTk8E$*hv{H<0Zv^KF>dXd(Ldo9pxVTZ`UrK5SAO74|yy}kGnAHMBGnl zn3f*cuL7Q+DB)IPlCtZgXL$y{8G?vQDRHG^c+SY_Hu6!770Cr62`(|IJYRy<-y zog=MjiIcGz@%V?u1t2B~{*(3o@ zuz@Wa(Tyj-{}5kC7(?Wx%iT`=kjsX!4o+m z6twT*Zw6+P5CZ{B;fk_F4elrF&M){TS^7COys^G!X)UoBncdQV1Gr2PvYMt~dfqEr zLvRLMlDm`g&GWjDQaGpkVZCXdXHv4&V8Yu}^(9#_kvIX9Kw#v!MhUGs4YMwlYI^>? z%H?mQ2Veb=d)S_7dxA|R5~lp0QZLw<#&rwFE6ZYz()1lY2otYERD4==ME-HR=pS0k z4KgW53|$0PRe=P58dIJeW1+}$`!v}9pv3yb>bYNDO7Xu{Z-Zh@x|rP`8jZ3vq~Xv!2p^jC@t(e86Ehay7#L)Flr)1sp8$Ymacq;IgK3 z2w^-;<3U@#TZxSwpi4z^X!35y*z<8u2l^4bV3t7bmod`KmN-ua=#N6z4I}qx3CBM; z^7AFtkn0u@}y(<1I}Qy=^4)Gq;0(BN$mIB0oH%z=t%6ZLSH>kKptK zmbz9zW5ouTYXCZ{hyax`^4l;G^-^)GjyN2Q2{O(jH?a<(f1yYGLR`H*;*?Pl<%1gM zF-<*Dl5VIs7Fs#ZAzi@l^=a2pk@Sv#N1t>Y`VW2l7UK&=VuWOPj(#sdct7>?8P6%M{>IQp;j>xwU&%;r^9Al7|j zRnGau2PP8a)J1v$IPqdfiZb&>swNG9Fqn}V7)TMH{PYMD8&7G_pHGarC^e)fX)|ge zVbgZ&?x|K>2YfRx$UwF(1C8|IylnMUH(ZT>x_J-)1ei1or6@d4p<(+pq1+jXt9aN@ z-ZQ-Ku=y++ENT-EA=s5+-L7CJHjFU##4VkkQ59)s{u268tQVRJr5)-mwz@bx;?1XR zAjh8)nS>_U)lC1vuYq&XT8OOILe}{UPO=P-HQl0vZx|G(1c8zgctTl%c|=+g>1ddL z4sm|)I~1*qyFFH-_^B`mFNva}!zYPO*5KRaSeJA{Ev_}Iigu4W7|X3Bh!9nQ7!3zF zd^52c(+yOS_$}z8X<`XD6$k2cCgAuFk;-Hc(g-&@cFTZ5)MK;G(e!*5y zf80|RUGRr^cjSCeKxUT0;gGS=0IujZO^fA|Od}VV-eS7VVVRH1CmZ85N5k{HK{68N zJWWiBxQy?Bx1wQO3I~OG(RP+D9^LA(k>HQPT9m!omZ}p;rWj#S!mU6*TsE>u(n?a}N0E9xeydzy-zQ4q)_EfG~3D z#&x$W1t(oSMWL`%Nrj`QDu~gFJq9Z^pmUv(Fj3f;2oovu!tYBDxERq|M|51+X?0WD zvGXz&N*&qJr(q?g3pPfiRnSp?^vGZn9LZIWBC%tL(i0g;Mnk zWfMaz8%0F_j+CKzX%Nqkr4|>fh{ISMw-)&u_@5stY2zF>wfOHxAc~*{J>(By?b}O! z#goVao>Lpx84oPuS-Mje4Zo~safPccjv*+NlD8_8j2apTZwlGgo(&{_0voqvC_FrB zFmwzV*#60u3?%G~W0R16wvDqyB>3f%7#>y@A52~7YD$lJNphA=*?qw7qDN`+NT@cS zW>gECI7W@vLmDJ1A}v9RW=aMg{TEvnj+Bx(OoooEGlovOivh*rj3Adc6g^Uqy{afO zie}{We$tMhrr?L@FOw#J%HPMHLMHOjL4H&{O}4Prn$NNtg~nFDMty0RDQwa2o5lYx zGm+Rp$DzYX&tW8C5#B~1WJ>cnAUs&Mw?YxAqZ<^LTzuyQc=xJV&IfJD`BAbTQf8k6 z8`CxEz=0jvp8Oru(caRcR9JbjMsszgsI4Ug58F4VRaM#&W25+g-I4xvdovNV3+Ck9 zRmDmDiz*IKWCn=1i=wj8JJit-d7eh*F=?F%3SR|TS#q28x@s5GG!(m?V9mX^^QStcv)BZN#5}O&68k5cHlol`d%ke5WN^OxjZT93xXts}I^xzS)Gjm5y zOFPPEs9TDCioeZ&W#S=%YtcY7j%>1R+)-4eC6B&Jd3+O2W8;wl9^)0(ZqjGe8)hzM zrnbi4av6-LBD-#COZD&{wnuo^EnVTW{D=y?zN0^)3eiaVi;AFhm?|7fvK>~(Hx{QD zmSaimhsVDK$$t_1q8$1rc85-S9Htv zHCK=Dqd>xczA}O(3920KL!QSMuCRJo6Ozj~o z)_n|`!Y4{VSZvZe800*86(n~NafRI!d*)ec{>OQLTwqacY|I%!qiP3Be5jmRJOirR zllE7(H|l`)ak8y`qWOR6pkfR#vnBYBxDcK$E+=Rp^Xj#nHJc>=kg%hn4CW%*A>vYD zL$)$y4I>sM3)3=+ayE(R56r(tA7kgPKU0PRi9VT`dcc6?+mUlLvgg!soHbKriWWwb z<&`Oa2MRUgDg+De&EDM5F-^)gh%uKK{$e6oBBQ;dQi@p6pJEMO@Tb{JjRS@S5@S^i zb!XJ0MGG;a1u=0>)XdJS0M86h%O|?Poh)Z8kko;zZ_Z>ZMLs#gn?wp44_#ciT~1;X zK)8q-&e~kXq?e{i+{Hu^GlG8FO%#=r_LQD~39&~6)^mDy(M>~`#>&&?&-hR-Hh!~f zowc0YT!%bSW3nRv9N{suP}Ld|+$ZoKLkJ%+Ayxa9#4#@PR2-knYqC-gJl(ES*ZUCN z**gAj(BwnpIj=R%P(xRpC-axg^RKhS4~$+Ynjd&9*F11nBqgV>|7BGC+o(>(nL*?AnDa5X8~;SJ?#5;;_z)7Qk~*d^#|b8Nf^S;ZV8Q5tvKz1l5?k|ddb$rX`DT<&1bsCA0qZ@k6&vk7>@qYiMZl8ee% zVRq!$yah@4UPri+ z_gXe}APg;f)`3M%HEvJO)0wVH^7{D2{&sl}-7M!oPZ>l@_KNhlyk8W(F3eAVmnSsd z+CSU+gzN90N`?Gk5v?gfuk?Gq?-f9=;w?%n=Loe8GU-j+#f$0|^2hJP=6}4R_%LjWDn{AC{yO;gqfdQ*3KG#8#tToC zT&6@7XtW4;^jb1Hz`s~WSLQY>L=HI+>5E+Ye$A=0*||@r00{L2 zH+W|N<^bRaxxxvVL}S}v5pUcgT<&!s-J$3!PIZxM988y8Szp;$UR&M>ytdF{L&9{w zM=!k&coMQgn!Ca@n+RZk`_=6Q6PGr1q%)SZ^8crCknwO}p%>$yAaB5eSZq{~qIrT# zzDK=ouQtF#&)7S5@O#*&x4~Tm%;B}F5W5DEf)<`BhVJ)k7><_LoKWpOEDoC$q?mXOrSDem4RB7u+UI4Eab?IAUXJ8{b6QR5gr{42rBiL4 zey7ItT6)Uxsa8(ew1)eW)BN)tcrYhx*_Tfu+Up=`d}n?M7|SHmkyfAY4I68jG&Jnn z5vM+LU`VPL>&hctQXjMM^sIh7gw5{B0XZ2Sub<>uJ=up5wANQv`Z@??4+WY<07}0d z(%6rEW?84Nx^ z@mC+C{csW_YbBlT$S*TeCi6cS$f#muRirBw?3z`3+@#lI_ z_{cvYHs&;WGHEu-(8(N)_namU6GapSpx?-d@OG%`kpvj5!IK!vpL(3lKI3sT+;%jc zLhuwVUyIdnbRUMqZg@ENrpq4jA(#-ykYonT^%1MVJiN}7(?1s(^UK~RW4riYg)+-R zchef?37Lt1`Zc~x%{CDK!r~Pfn3S^6!S~ea{k>H+r8YVcydNC4(5Zkd0_8 z3X89L!k|O)$3(baH|csYXn-drDPBlBt`0x2C(=C43(Q5R z6(itZkix04|CBH$w)SLlrZ~ijOXGSipCOo$0D3KFjwyz;v;y|xig@OFpR9nV^mbe| z3-#iE{(=Ofg$Qmmuu;}CiEi1i->UT%H_Wm@3>%RHJM%364?R0vVWc`f^Vw4&S!lFL zLo{3UIxk0pUZWvqfz#r(nxN9vZ#g4NjdHfg=3-W)Q$MP3F6#Q@3c+I5Yi`iAn3Gk_ z2WqZDd09q_ywzppX2HZ$q^;T_Ws8EcgX@Za9nmq|xwwz>sgF>9P%n?w$Wv81tqx9D!(W(XX+5OnQa@sr9)_nyi_$Z|Wwlao-i#xXn1_HZlur754#dJu6}wr_mBMCMqtOUuzkXqS@%y;Ws9?PUx zc=qh0U2L?%c75??j0{80#FumM&U-9>WZCxy$%tHyZqZ8xfQ!p<8VlV&g69`WCtl;& zt{+xLDZHan8IO9j4s$K~V^NkpAV)U+Hx+DYW3tYgV#8A&X4?MO|3*{H)|ZKPiH{Eo z4sp=8CJM~(jsBUi$Xn!*Q3SO7Ng(Larx|W*MlgXDX&ILfJqC@0&k+mTfq7wn@9{g{ z{3&-$F6Nsts@u@cVOd|Crg8f!5NCkHt&8;#F}JNggEW3*I%y>iG884*K#zD!7k-F;*TD^*K$lYx(n&9Ih}v&eQp@=HRDYVg8r_)rbbUDexhEvC$UAdsoAS_`755*h*nQMCFV5kz6R1bQhuitzd z!PTzbX7zR8Ymx67CNb5k+G^U;nW^Y?p(d`&=I|_3HiLJM)|EF@FGFE}())ZsfMJR0 zv#CUW$N5H*cT9jb$F9DwEN1?B4i8afPeLrRDQES3S%jdD&T1T|#4L$+~cAqsk{9b#F;W`(Y5`X#PAcO85*U1~>Jo+?hB zzu(25K6HyQp5L1iZrUDyb;J|;l8>2LgCnSlu3&gxb)yH!TjiC^M*iyt-a0{Mlz+{^ z3r=>I-O19GEYK3sJQ^fn!Ug6jquuKkoft3myEp%#$4u5%UbWtDot)ig-tOM?^7!9z z>AYDyzrn9_`ZIr1$Y0?!@4a z8SE5`SIyDp!D0TORlol{&RzBETlu@M`N{r8D9%%v+DZfU~+X(+^^Igy0;&)*=lFCyScD_wfv#889r?6cfzmr z^>Vm=vbpf}X#IG9eRn1Q?%fUg+uAA=4sH+HCmU~XPxEKR%iYa>|E#q;d7Eus<(9YZ zZq9G_*Xz~KS6lgm?6|(RRXf9k_RA-49}Y{c(oX;Ec&B`F+c`elct1Kj*x9()$(-ko zd)2oeYPD{^__fp63G=JR$K&I>-Av}Z&|N-T`SO0FyS2K1vAL4#+}wURKm4+N^Zsgo z`TpR`@#*MlaM#$&wsOniM)zF~@D*-%YWJTvK3oU~ZC|Us#a{I;e7DiaE`;|RnKMGY5lw>FvdS{{BOM|J_w}WwO1p^ErReS-+@v2Mp%!-d^@|H5_L%%d2SdwX}Oux@sJL=x(mPyE(kvSU>)ps~u0W<;v;q z!FcC>Jg5x|Yj^9Ver@Y&cklgR>0zU=+#K~6>e;K|#{1KSmHlj~dV16vRtopyZn$xO zceQYOevm)io@{h7`TOJL?fT?sXW?}H^KL%hS?di33%j?Q=R3gTC{r%KzrB2y?_RX; zmRh;BrHzHR=ZE9d{#xhorugCHLv>O*m~4Jt9~>O*o^4&Uz77w+oObRvPHW-vmwvr` zdT~>4?ceOJV$RJ@d%M{G+O1zaTz%btT6oy_lG)0y3RXuhlLN>jg$Lg{&@T9^zvY7 zb1!#RSZmx|92It(na#~gsX18be%QRbX`JNNv$?`*@ABaG^k_WF9rTN%!%1m>?c^bR zzkSub8=_6|c4u?9UfdZMFM9jU)y>WQ&l@LikM9pR2bIgC&4=^;Y3{7nDqrnXkHh}j zcJJN0&j)9h+0EK%W@Dv!-`s{+ zpI^1}NBHn?x;t43yV;A*`*&Y%_OAAB#~(hoil5gixuwI;qpPpwt4!GXP`xQEuOB@$ zv**Xl!|qajuvRO4T{_&`TG~GNyg6LR^^WS*QT^*$dDPgsf45hEJGwjB?>0K`jz14? zYR%(|!^=*+@pkQI((2{MOKan|gJCCodvTbrwcd^k<8ZRty&7NUo4MtcYQ6JeZU1=x z{C=glwEwWO`7rui=v+3w9v*IVua<5{^_y<~?ft{U&3^B4fAXc1Ke@l#|I%n3XYz-~ z^;~xEYU^b4@^bfoC|~b>C|^zXF1}uTW@gBj&flM$y*Fr`_}Y?V@`X(b-^3Gm>+wu_1Oh4N>sBEzqBzZs*Iu1hSN!z0V&~FeyT>aP4$0^Pd3Gt!tTJ z=d@&M=Xc(ID(@fBSoVGkMV3-rDK+~kh+sP{mOpKsoRrF+w$IP<<^7Xm)A>)-YrHC7 zSSp;H93tv})YP=|L|(5?g}q|otqbUCMouirRAfXH5A*c21Amv$Tx3+iTR0)I&Eu9( zlWxxq16(@94J*2?Cm5ing+0Y!7Bf#VbUE6K69$lpVK52sCpOiLJJWFIq;QTH+>8Bk zVK1=!l5j2r9W+*g&-VsiW7+bsB$sZz|S9vRn_9b!{ z#mHm%(rGG>z|<(0kd7$n=I=w&G>f z&~(XvHD&Je(PrX&(DKUcHI{4Bv_LzbA;*?GZ=9KQjwTrX`r~wFIC|5(#1Dn@gV*}v zqK=9?ehQlmfSJ?9 z?hYk*ixnvDh2jpy-Q9~zDcTRc_uV_*f5}L4_MB_2Gqv?i?Jfk(1Em-ICFtN1F9CSzi`t zcd~FYr`WD z&RJGcI%AQ$NwZp+{i5h?tP$0P>5Qajivr6W;->K2_gYYeL~9VjV8+WAw)%Q!@D2+a zxe|DMgW%K2wX0q!g=VK=N{vNl&w4jHjF%eZ_Ve?02dQSM!}-;?xYI86hAQ%bw^tl! zec}xHUM~ROvPaDHT_jqMB=^M6Xm~)27i{wLgGA5Pye_=>pfxpgA38`U50=j+tH--?#kI9`D!)~?5r+(1mpif%Ts5n~ z5!*ClWg*RdPQ!X{-cIQi3XVF>3gV%EjP%G;N4QR6bjNI$MUkD!{=EcQwr8?{3}eIl6yJBrTC`lT95tl=ThCiaBT&y-S)AWo*|4 z5W=wHGmC-zg?v4^T!mN^4E+L&ZdiR=mQKcFGey@#&9;*{j#X4C5|jp&^BeeX+*8^aCIL?p0GkmhID(-y|;C8 z*7GoDO~5KzuIdsT5a+zlRLq@;p?AUMMx|g|K0`$w*zaub6!vris<1c)>v+P{mn{Sdxd6bhSVrheM;pu zt^|D;9__z+tT~>eZpgHl=8tWvD;{?SJ(BLsgW$@YIRyo`Bi`Hk%7{+TPWG5{W@TRm z^g|q0Y)NK8r=Fq*o181+B0lsb&wg>k#0VXznL=s3G|otqcjEdv+@^sw|^N5HpS3JBg|~Y zWnI0U5EVG;w9lZ^xcb&+g1BGA3EPBmw;JTDud3Rx@~s(wAnya&vTG}ged_K_?Vl;_ z8HtaHi1$64NzJxcKqp}vG~pzmDt%m{Ql&(>3HedikDv6o$Orw9<9OLTFy;O!`ZB7e z7A|C`+M5&wfsZ~&rQ0qd40$r*_Bx+{#HmMu9*5J2;iEU<`>fxqx+4}gRAW=Mzd22` zM3L48h{#xrHum}5AIeUcRQ6cAc}SpoQcAI$!#pyYm3XYh(cC3dK-JerAH0sdQ4vQF zCUyiQxfv+L{WFW*GFI#aVr+JIuVs2w(?3f1kOOKIoy zuo-g5mm*-~eMx`B>Q>H|LHhhD77qpeu9dr7Rwxgj6VHNqCEo#ANpFlC z#hMaFwK*o(nCLbUUQ8&1wk;-kpUEZ_2HX8uO+(gq%>A-K@C{qfYKpHNop(4apH-V`TvPe<0A&jn)vel)G!<>U!JYjy4aR=$`BrS6T+8z3Z;^<`Jy1{n+&8p-jV*(*z0iruPtrjuUQr*Q<9{EyZ0_(sS9nI#*z-+MfbL_$xR)k@>Go^}ThpV?2_UXqF>x+l%Q*g{YqbVeG5 z=guB{Rf|zj<vyWNm|9~pu0(W_(z^`6 zU-BXDv#VB%#Hnkm!6kt|4mLbcy{v!ul80%=UPjqQ|4ZK3v*sNnMBb`1k8$cG{H1?Q zBUdkIXSiNUim2$QTdb1gQubX%Z)EMzQLyf~#}c=$WtW-%0)C>f*cqJpZdJP(B@#V; zbxICNrURtLa!np``9h{9X)AH3`A4l3QlSA<0f^Y?APtiAT-~l{ca2pw2G2Ej;~nx1 zE_k9kS%~?HCIznM&*q;7E_P_kpWD^hs<{i2vAjv}`7a zlB=PTh^0&z)Dw^qppa^;z?TqPIV~US&t`_S-AMoCdQeBtU!?lpAs)O$%&S~rea~M&6N33P2e+to9^SI= zpk@V6>bkU1Zi437-QD3OD`Ho6KEt&VmU-TuhLPdnqa}>sVp;WX9?ml+(Ri?Up9CDb zpguYhQ!<@s)5^JjT9S*9VdWjK+Z-8_Je*GBt*MX*TfbOPJz7s#v$$BJ#zAW3&v_SA z?9#Hs;6n~SSfJ(Q5x2N}oDuKY2dh8i3PM93Uyw#Y8Omh6PhC1zJ4NmkkNh1c;zB%I zb>Fme;$y1*5M1;gMOJ2_cs$fN(S{RXSRN!Y$-4O!p1zUu8e&?EoB967>X1WG z#Ex+ph`DuT8~co?J1(izT_yXDd|~Vm6hugbDHi`=k(c z3sl_F0ayFYSji5A@v~IdOJrAr@u3OpJtzR|I& z%G~QvLG=Qzw%jo?4LX=Rm|jM*>DT0hIfn+I%LI&M7*;OaqQ^@|TA(+1&XE0vzTj#M zDTy$xn+*hzr*js6=;l8NY6P(~QZ`Q}DUfGGMM`n8MJgJ*qA0|sDO>D)$8G1JP89Hm7K?#=^>yN$^IvoKw3); zDg~KYIP_G~lADi*GrQDIiv2|2Nd;=TOs-;M=u_bv8!ttNGQat9B5r3N0zUBt(&zjp zIEoyW7}mL7Fk_-qyh(|nOj6VOxjj-(^N^#`BGciDgw(ZvW>kn;XHe_xY$`qo*U&?& zwoxLm*wCA}hyAuNy9gKLUNcM{IL1W zv5$$mY>s-oYok{m(I@hc8W@FMH&QX6mM9lwv6%?k)C)bOC1aWZ^Na@K%rfzue-EL5OJG!IIT{a`KEPtU>S~+BWc{94O#OlD)2Z%(Wv_?h^2|-=^gRpUyPgCa#W@@3W8&2}Q+A_wq zV*caiQF~)l+i=Q}cZ%U~x4|2{n$>W|J7n{|O@4`MK}yEh`yfPiZ^~eNbsL=RE=lJ= z8l@N?a+)fQKFa|RL750b^bTIPO<087`BB;y=m!C<898JfKk63;_ZDRw>8R$y>_cqK zD6y}2p{a$Cy&*ERgC_{#0bHpc297yL5_K&Os~ob@KS4w}r+Nrb{2aNj$V)l|Q#okX z-)yskC=MVJ#b>d|jy58$c<(yXtZ2U8sJI2J%GfQ~G>S)ph(^v!3ElN6C`!V=DCWzaOwq zv=o8JPaz80kKUCB#XzHHaabi*O>?`{euF7soC7rwpg7Sj@(A5Dh@+aW<;yn=2cM9n z8FMitNJDXMKgEhUv8CNz;nqg8pv}yGTi>n-xK0xf1q~n=e5m{k30DuJ_+G!8_Nj=- zbe0_7dk{8(F?|B*jfjVt0qwb1eQYgU-B+8(z6Mjdi(jC6t&L1I9qq)G0Nc`5kPjVW z@O4}>){=)8^}@S8kw!)$Z+b_Ypf2843JvH5AyU2tIJeA92PgP<#7ogu+``$9p?=SB}X`qPLSRS>hv8VN1LH z7TPW^2H~HK+Xaa7aK`Z3d6_>vx zzrZ@)R-TUQ>J=@8>uk=5D z_KynVHunZc)?Z%PA|(V+=tmUk0Gqx0zMhxoQ_?d@M^~fQ)fBqOVP*n?+*&D|yzC#8 z;M_qSNJA6!YM*XAgkq6mwX%H>WO=!qveG}s#$=!J->lC0a0NR)OPv`g`*~;f3Jh=# za2RKl?&o@%V(clF?0B4*s_1Q*iH)C$+^y8jaeYEyv=u}psVGUGorD4#2?uGAsnGo- zpLRN)vps6VJ`{g<^)abt8?8f4y{omCLg+V0Zrv5}BM$yqY0{yrP3dR2kYU!zEa;Ul z>GYCHkAe05dK>2B2GyA33vmz2UdR`*bT2X|G8q+>o4r}Of}MfKE-RV-REQqo!yVG~dny`0%tpb2EmkXMASpjH|%rY{7C% z{t+(8j($&xS1f0j`vHQg-cHWNGKjUrq$Lef>dlwP!oA(KsOYqLI7Eac>5(pk{;H(w z8Nbw3;Tp|$@6GG7npL;Fqhi}8|LzjdPm#Ew6TJX9{R4#%QCI+60yY^EnTpTZ<_6-h z1`;MmGyi^XjpDtbi8vV`(+o7rYV^Iib*7W{m zOUQm$U3^<9J&F>q%xpF$$JlDiA^JGGd+R;yK9kmGqolK2+{5)?w(40KHx|d6b5mKV zZa(++D%`ejwc5OyYjlY@A#=(R?hH+u&~p!j^9yctW}6s*TRKGTYMcA`Q!DvAdHU#) zO4Z-76|7b_=^Qp4Rk_LMM9kcvI_@@gO`Mbq?jX{)4GlgbR>tH(ot^#l6@{CnG!-B0 za`t=YWn60`c>;n~kvrz05EsJ-5tujdDBjq>qig29;iQ_4(NooA5Lm77xbA+VvBTz> zr-tuXspTh<>ou8#CMFWYm$2An(F%}J)lwnOR3<+ z!Pjv`TGeGb$+d&(JS*>B5}8g-ukm9?CBvjGmE&Bk$x9s_@`N%#21q@Xs+Fw0iF^*X zv=okm2vU;Ao0vgsDN;I=?c<672WXV@+e7N^QaM!e%F5{KEqr96o z9BxBe1$`UIfKRMcb%po`z*-Ky3>0g!qMGr3b6G5z!)tq^b6MBUy8McHn@;oaQ}@dc zB@(=0m>JVdLA|KiRR|!2#9u>!)VjFlvG&?)aLv#x^y9zFRWWAw0Q%5S^?tU z$QC`;#Z2%s*@HvGu7vMOGczf>;IOkJcI~ZlH$=CkogE} zy^K@s`z7>fWy%k>8N?TcH)oCqMAt7MI$|bfQMf6q(YCyzgSW5=Rta z-bUbT(apqz3SryZ$3i5aZ8y{R)q8_VFgC#k*M3%Fw=o-Jz{^K`o)C$|wLu-~7a@7V zowL(da~B7?VaD+zlu)I%lv$em=+2R`Is3!3JkFZm)y%Pi$i^IgyqACndv(ZRgR-Gh z1=AV9LKo|EHcjj#sZ!sdeg3oVVJ5F6k*jP@;P09@`R6_>!q^|>XV$JVvL`W1)?HK6 z^$3HLdRpJ^?+3@#X(g7r0kq{bo81+xta&bDs&g{C_N#f(|Mw4AI z;tlF$_YK{~4TJo4OMQnz?e*-REeU{c%4af5wdmd=$TpeROeCO$ME5}9+S-C_1T(kP zkIk5bp1HEy(a`Un;*~^m>2Zq(rh!z8WpN$|AA1Aey?3EuX&X|8;#)DZ9}!9e=;yRC zu#{1OO8L=L*e$K@l_vVH$BO)-H<1M|%_e_iSg^0|N)G8>-%=%wcE9m8H;a?=tmn_= zXQz;klU82kp58VN$XILghoZsAFM*|$nFNde@F|dn4vlrJ2=FZs5J*m-RSFzV$IS0> zZcS54NUG;k4;E3kPf1Ggh64mF9H|WpQT398SZZ;i?o2%r(yteo$n}uoPh?VN{97g2 z!d?9?fKk;h3Y1=s8t5nF5lh9w2W^s50i@6|?4rq@ibog1zV$Yoa^6>5R?y&L!Q;cN zUw};LH_3E?B{=b7j5`NO2P}^S-1yC2q^!8^u0HFi=%czaxR;8QL^f&$`m!Sg-lE?? z!k41rhg+x1JCwI(zqx8KqQoK_g0CF2{9l%Y>x$`yS@nx!9>TkL7~2C|L-AGWq8%z! zN3;3!4mAs5K8Y?$m;0&oKA!7j7JWsgM%s2-VkRqn2e; z@*`Eb^K_%VTSTNG6cHW#@Fx!V#S{Z?rBxb{?hAsE!JVz~Z2+04GE zJ>sO3#F1{zGs|5(*)XJ7K|Vi1U_Iq1(#hW!{5ZW{gBJZZ)@6+Otk^Fl5h2n_4#F9i zBV)~D#9A0r7X)KHW;Tew|J?nd!le(JDOfo{#v326p0`r=Gjd2i=0?KWmq-L6PIJ^y zuG%9E)0QbpClc8RX@_4XWt;x_SCm~qOj%}MNaDBydryw~*6Mc7_@}ns+H1LmX_WLY zJWO~bYRH4hWUXAr7sc+vhYB6Z)1Y7?#cAW>&2-}R{VsC3&c5J7ktl7ANB7qBt}GJH zOu=qIo2i=HW>|&tC^8A|a^9PI0%al!4fG{i1cuKs`GsCopB?p=f2rF8;k9!yS9}iN zymed=FR4Gf5R#qPPh~7D_I<|UBZ-sPktlnDF=T9HzM%U?!*Y|Ur&a=Q8wtXaU`p`e z+5nc6Z{}R)cp+AHf&H~QAqCJUquJ_tx~9H8=C?ZOT;$*M*MT@4=Y-kVPT!&1;@XSUZTSyl(%wYLgBa!@WCp*%1?_iCmJrEI)Mx#An~ z9C3V_Jdr-{h8?ub#t>j&7)_E06T06;QPANj3z0eZ^+C-JU(os(1GbwtHL?x#f2u#T+cr0I%Y z^cQ%qv@h0crAfYfvuqOyTV4}I!h9+G7Q?m6Dogt^|2R5|nK+vvzgQh1EyER0;i^yr z0YA=`l>S164C79QgOCFo!ly=%i1KIj3{1t_#7q}C9pYsyafDIOn6u0D6gh@jJW`Uz zq7oX_viMKgl;nuLgVDudxyZMy>ucVkcIlo;Yy!@Vk8_lr%~Mh0omh zZBzLsqH1gfY9(-b2NdXC(O=HVzNP@?4nxki3Njs4m>uyn`T($+Nq~SlE@CM z-)oN*TZ z3DrqtURWf0ocO@ksfxY1EfgQfUCxaZ`}ON%;trB)TH;OQ+2(!b$u!v-fh|4{XxkG^ z6d~Ua>Ml_DwVju3T5GsM9PM%;V7|SNDVygiIV|34u|m(Z(L@ol7_BDURbKpl>s<#N zCrMqM^}NhBpoV#Y&?p-y8*k0kk<`&6%9fU{cltv3M3<`ba8PQwRTq@Pz8P=53c(&@ zqcpNpmGb0S)1&0#d}Yr23?%2&etXt8%$`*xEcgPhY#t#!S`*60S1q%nC!F_|IVy7^ z$lbs9K)wd%(u4b+5{ay5{(Up(4r4#<=;)4OYlbC-Kw)aP9Qp?HXtiNH8=;FCjMu~I zGlex~-;gfa5 z9gT_h=xKzFV2W4Jr5+GEsxWPjzE!UI9?7rv7&fSnBDI*287rUgG{7{+*1bPo7CM`# zWaB6;qSKNGjhTs=?3&?E=}g7HXNy?zGde161B76(gHM}=U{ER1*P%#;cfw{a6v83D zGL%2;(EG7c?Sn{ZmChB?Fb6rByP*d5iZCGs9%U~4j{KBjJ5hmx;~VOUQfl+zqRhyU zQlS7H)J61eo>gX!eX(mVB1exSguYx!C#T@R5dQ-s{nKt+-Xxt)rzv>q2_ zJvNCZp^wn_^l#wjRjfld3&(6=qH@%OmNOEicxCn`f??1CLMM7_3?6AryRC<2WU+U` zMcxPaW$ewE@Rc<^xQ-%g@7&VyeT1gHC|KQ{2rv!iP4~wS5t8|R|1;TN_cyAVA}l@} z9!8l(hY18kA3XpHH}*VXyjgw!MBwF?w8LdmMQ=Y z%xH)GPc_T7NwNcR>Ofn|yl#MZkYbiUR;^$iH0}!JXp( zxTgJKK=~i@7eB_P7s&EY%vWb{hZqp1Np}|D@yF*s5MmS5B4GR(%5uX4I{)Nh3p_+5Rz`xMbD^z_A@csk6>IADw z0+GQ*9RSRxjd6hVe_G)W4%c-01eknN~(_87JEyXyF%4 zTD^?NCd0VrE+CkPL9>xKwxO0Lan?OQNjI0d0PI9BHHev80H)zP>@s=ZxH73@F;;$0 zHuU3i>(l&hUwpf_QQwveN4NK(>Y+y5gON4^Q7Oq}6e0gg0uc>Qz&c2+!qf>P=<6@< zMK1L(=OGEt=spLRy^aQt7G zuRWGPC2v$iD8*7stp#k7Ph3x2Btno9diF-@um7m3s!h;U=7@NlBPeSvXRp)k$h(&* z)_zV{_;@fYihxc;XJ~Io4J5OB`GsCgbA??ZEBH-;c^Z4w6`Z>x@9)qd@(z-6Rv{m2 zm;pb{wPf%8V@U=E z^#Y*5Ork)fSBgyHg@PRTLs5g@|Bb%-LxP9@pag$X4tP}buh1K>l+XCT6f)!guUX*Z zx%3-I2ne;87uA2&3<0bz2IM4vZT}3H8{vi*gX;e=s#*9u_)8|kebu-i_HxRvD}SLc z$qErnB>tCr2JsgrZ{r^Z2K#Z2=rUeg(4$8UE=-JIR+SO3RnmU4wM2CflnY`65cPVzv_+l zf&j;1|6&xRfH;3dz{uGl-M>GQ z1G9+(aUg-%z(2zm{E|igbcU|$7zhGi G;Qs@TfE5e? diff --git a/dist/extension/birb.js b/dist/extension/birb.js index 1c76315..d82e1f1 100644 --- a/dist/extension/birb.js +++ b/dist/extension/birb.js @@ -1066,21 +1066,22 @@ * @returns {Promise} */ async getSaveData() { - log("Loading save data from Obsidian plugin storage unimplemented"); - return {}; + // @ts-expect-error + return await OBSIDIAN_PLUGIN.loadData() ?? {}; } /** * @override - * @param {BirbSaveData} saveData + * @param {BirbSaveData|{}} saveData */ async putSaveData(saveData) { - log("Saving data to Obsidian plugin storage unimplemented"); + // @ts-expect-error + return await OBSIDIAN_PLUGIN.saveData(saveData); } /** @override */ resetSaveData() { - log("Resetting save data in Obsidian plugin storage unimplemented"); + this.putSaveData({}); } /** @override */ @@ -1923,7 +1924,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2025.11.13.8", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.8"); }, false), + new MenuItem("2025.11.13.16", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.16"); }, false), ]; const styleElement = document.createElement("style"); diff --git a/dist/extension/manifest.json b/dist/extension/manifest.json index 75df989..c8f1e33 100644 --- a/dist/extension/manifest.json +++ b/dist/extension/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "Pocket Bird", "description": "It's a pet bird in your browser, what more could you want?", - "version": "2025.11.13.8", + "version": "2025.11.13.16", "homepage_url": "https://idreesinc.com", "icons": { "48": "images/icons/transparent/48x48x1.png", diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 7740254..e545261 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -1,7 +1,8 @@ const { Plugin, Notice } = require('obsidian'); -module.exports = class MyPlugin extends Plugin { +module.exports = class PocketBird extends Plugin { onload() { + const OBSIDIAN_PLUGIN = this; (function () { 'use strict'; @@ -1070,21 +1071,22 @@ module.exports = class MyPlugin extends Plugin { * @returns {Promise} */ async getSaveData() { - log("Loading save data from Obsidian plugin storage unimplemented"); - return {}; + // @ts-expect-error + return await OBSIDIAN_PLUGIN.loadData() ?? {}; } /** * @override - * @param {BirbSaveData} saveData + * @param {BirbSaveData|{}} saveData */ async putSaveData(saveData) { - log("Saving data to Obsidian plugin storage unimplemented"); + // @ts-expect-error + return await OBSIDIAN_PLUGIN.saveData(saveData); } /** @override */ resetSaveData() { - log("Resetting save data in Obsidian plugin storage unimplemented"); + this.putSaveData({}); } /** @override */ @@ -1927,7 +1929,7 @@ module.exports = class MyPlugin extends Plugin { insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2025.11.13.8", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.8"); }, false), + new MenuItem("2025.11.13.16", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.16"); }, false), ]; const styleElement = document.createElement("style"); diff --git a/dist/obsidian/manifest.json b/dist/obsidian/manifest.json index 43489ee..d692265 100644 --- a/dist/obsidian/manifest.json +++ b/dist/obsidian/manifest.json @@ -1,7 +1,7 @@ { "id": "pocket-bird", "name": "Pocket Bird", - "version": "2025.11.13.8", + "version": "2025.11.13.16", "minAppVersion": "0.15.0", "description": "It's a pet bird in your Obsidian, what more could you want?", "author": "Idrees Hassan", diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index 9a5a6c0..c6e381d 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Pocket Bird // @namespace https://idreesinc.com -// @version 2025.11.13.8 +// @version 2025.11.13.16 // @description It's a bird that hops around your web browser, the future is here // @author Idrees // @downloadURL https://github.com/IdreesInc/Pocket-Bird/raw/refs/heads/main/dist/userscript/birb.user.js @@ -1080,21 +1080,22 @@ * @returns {Promise} */ async getSaveData() { - log("Loading save data from Obsidian plugin storage unimplemented"); - return {}; + // @ts-expect-error + return await OBSIDIAN_PLUGIN.loadData() ?? {}; } /** * @override - * @param {BirbSaveData} saveData + * @param {BirbSaveData|{}} saveData */ async putSaveData(saveData) { - log("Saving data to Obsidian plugin storage unimplemented"); + // @ts-expect-error + return await OBSIDIAN_PLUGIN.saveData(saveData); } /** @override */ resetSaveData() { - log("Resetting save data in Obsidian plugin storage unimplemented"); + this.putSaveData({}); } /** @override */ @@ -1937,7 +1938,7 @@ insertModal(`${birdBirb()} Mode`, message); }), new Separator(), - new MenuItem("2025.11.13.8", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.8"); }, false), + new MenuItem("2025.11.13.16", () => { alert("Thank you for using Pocket Bird! You are on version: 2025.11.13.16"); }, false), ]; const styleElement = document.createElement("style"); diff --git a/src/context.js b/src/context.js index d3cd2ab..31640bb 100644 --- a/src/context.js +++ b/src/context.js @@ -227,21 +227,22 @@ class ObsidianContext extends Context { * @returns {Promise} */ async getSaveData() { - log("Loading save data from Obsidian plugin storage unimplemented"); - return {}; + // @ts-expect-error + return await OBSIDIAN_PLUGIN.loadData() ?? {}; } /** * @override - * @param {BirbSaveData} saveData + * @param {BirbSaveData|{}} saveData */ async putSaveData(saveData) { - log("Saving data to Obsidian plugin storage unimplemented"); + // @ts-expect-error + return await OBSIDIAN_PLUGIN.saveData(saveData); } /** @override */ resetSaveData() { - log("Resetting save data in Obsidian plugin storage unimplemented"); + this.putSaveData({}); } /** @override */