From 180108e4c22a6b31e59cd883e8978870cfc28b1f Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Tue, 7 Oct 2025 16:01:32 -0400 Subject: [PATCH] Add initial files --- background.js | 92 ++++++++++++++++++++++++++++++++++++++++++++++++ icons/check.png | Bin 0 -> 9516 bytes icons/pause.png | Bin 0 -> 29770 bytes icons/stop.png | Bin 0 -> 26704 bytes icons/wait.png | Bin 0 -> 15289 bytes manifest.json | 29 +++++++++++++++ options.html | 18 ++++++++++ options.js | 30 ++++++++++++++++ 8 files changed, 169 insertions(+) create mode 100644 background.js create mode 100644 icons/check.png create mode 100644 icons/pause.png create mode 100644 icons/stop.png create mode 100644 icons/wait.png create mode 100644 manifest.json create mode 100644 options.html create mode 100644 options.js diff --git a/background.js b/background.js new file mode 100644 index 0000000..02373d0 --- /dev/null +++ b/background.js @@ -0,0 +1,92 @@ +const SCROBBLE_ENDPOINT = "https://life.lab.unbl.ink/?scrobble_url="; +const STOP_ENDPOINT = "https://life.lab.unbl.ink/?action=stop&scrobble_url="; + +// Default settings +const DEFAULT_SETTINGS = { + delay: 10, + blacklist: ["*.unbl.ink", "moz-extension://"], + paused: false, +}; + +// Utility: wildcard match +function matchPattern(url, pattern) { + if (pattern.startsWith("*.")) { + const domain = pattern.slice(2); + return url.includes(domain); + } + return url.startsWith(pattern); +} + +function isBlacklisted(url, blacklist) { + return blacklist.some((p) => matchPattern(url, p)); +} + +let activeTabs = new Map(); + +// Load settings +async function getSettings() { + return new Promise((resolve) => { + browser.storage.local.get(DEFAULT_SETTINGS, (items) => resolve(items)); + }); +} + +// Save pause state +async function setPaused(paused) { + await browser.storage.local.set({ paused }); + updateIcon(paused ? "pause" : "wait"); +} + +function updateIcon(state) { + const icons = { + wait: "icons/wait.png", + scrobbled: "icons/check.png", + stopped: "icons/stop.png", + pause: "icons/pause.png", + }; + browser.browserAction.setIcon({ path: icons[state] }); +} + +// Handle tab updates +browser.tabs.onUpdated.addListener(async (tabId, changeInfo, tab) => { + if (changeInfo.status !== "complete" || !tab.url) return; + const settings = await getSettings(); + const { delay, blacklist, paused } = settings; + + if (paused || isBlacklisted(tab.url, blacklist)) return; + if (tab.url.startsWith("moz-extension://")) return; + + const url = encodeURIComponent(tab.url); + updateIcon("wait"); + + if (activeTabs.has(tabId)) clearTimeout(activeTabs.get(tabId)); + const timeout = setTimeout(() => { + fetch(`${SCROBBLE_ENDPOINT}${url}`).then(() => updateIcon("scrobbled")); + }, delay * 1000); + + activeTabs.set(tabId, timeout); +}); + +// Stop scrobble when navigating away or closing +function stopScrobble(tabId, url) { + getSettings().then(({ blacklist }) => { + if (!url || isBlacklisted(url, blacklist)) return; + if (url.startsWith("moz-extension://")) return; + fetch(`${STOP_ENDPOINT}${encodeURIComponent(url)}`).then(() => + updateIcon("stopped"), + ); + }); +} + +browser.tabs.onRemoved.addListener((tabId) => { + if (activeTabs.has(tabId)) clearTimeout(activeTabs.get(tabId)); +}); + +//browser.webNavigation.onBeforeNavigate.addListener((details) => { +// stopScrobble(details.tabId, details.url); +//}); + +// Toggle pause on icon click +browser.browserAction.onClicked.addListener(async () => { + const { paused } = await getSettings(); + setPaused(!paused); +}); diff --git a/icons/check.png b/icons/check.png new file mode 100644 index 0000000000000000000000000000000000000000..c79b36b1b8d6dbefebc4bf3709f0c7bf19626801 GIT binary patch literal 9516 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≠GiwUD4R$#oG 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 OCnu#WStVig`TqlDT-}EN literal 0 HcmV?d00001 diff --git a/icons/stop.png b/icons/stop.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c55f3f9a73192959c9adaff23d3cc183539bef GIT binary patch literal 26704 zcmb4qbyQT{`|p`y=q@Rdp}RvGq`SLOS`Z`zr3R2L>267p4ncvjK)OLdQW~U@X71tr zzQ4QH_ul)@UF)nhGi&y<_tVd3KYO2O9W7;i9BLc@0Ps~+6!ZW93VwwGSQy~PiQmK} z0KfrNg+~T{R)6v^KUpeHwkn4ppuEgcu(;O?NeliJdapC#aA7Q!v;>k=8ukKS*qa&# zZZC`WeiH3i7-9#=9cB8Hi z8&LzhT^I8Mx4tP|<=5t6-kRT1Ra^ftXYnv`Dh<>r3A_-1Ls(V9J+bcZ|AKlCVvfGK8dk=? zS;Z*WrxGY%R;FUnIh5Q0*_O41a<$7a=K3>xUD@YjG0B5G2-Lh`5F?WKNJ% zb~})kl1J?Nk}B)>g{0EjYF7^`r{H7mF(aNDs9XqWb1W?V;yxyiVlVY0xDUuI@0`;K z1$T;)&^x-bM~@gqDYZR>ZzYDLXt*C@-wT0afnI{_72v-gqBI=DOK()KPfB0`d-gux|1AE=3aDU$G5~juhoMNi>G>>uShSVBqgxYFk6rLR79+XqFi~eK z{`1D`%N9G?X6)Bio@2H=bAruoXi z#3GL^JmTr7;FKR4YhzD+iB+<|s7mc%oG(*FC`w=N9ag;cxX(;nk&T4W;qeun zIPN~=tJxk%E5Pzr13ji3<`ZlWGbvdtpj~`XG`g6kVO-7i#GVNnNP3RHc0{5jPCZ{b zk9Ad6%9(uUo7fLkqPK{bIy$Wj_GxY{71UrPtOp{OmU7?4vjZ{qv@MJ)jYUCYgi|04 z24x1@Aoo!%oahq|FZe_MmfGEfC|l-7hh9BUu&v@y=z z+Tl33!-Gt~8urRxicgHlPs2~45C;^Zs?fsk0p6+mqmp2@aJS!Ibbka8Z>9jleUkxN zVzX^mm!C{1qGU0_g}njoR;>bH=L}OniN9e>gp`w*C?p-*V(3^f20N_l>4nxj9I8pA z1B}3!EXSxJU7EbU_lF#JruHT#!JySAJ&?fD(=8Zy{Yd7yjw&n^^dus@QrPHk>ypvm zXIICZ(Fm;9%pTGyj>?BFOWL;I)yyivWmC5=5HA`dg6(mV_Ye1pbgC7=aVK&J_?7bY zrJWVNB&RIH2sUWByb;c8D~D5FRfu?dy`}rIkXjBW##P@AB?N^S-L|VEJs5%`?AGDWa zvFBtv7m02{w-`d{F?XsXK9}gnP!>=Y8!Cc^_;ppaGFp|8Vp%^Z9Kl<(^D*Xq{ou zR4)Ul4QHYcQ5&}^ZVU!5EE@lm)d~k1S{kUmUwm3V|&COp2h72R@pLn zLJ`ujWm1F+VHpchdmxF2I%ZeixBt2; z;TU;SReeIY)z@3ku1(j<4Mal->w-xLZy1e-mP$9e5thDtcR@Jtj*_zLiz z>_-_lmk4??HB3ykbr{0M|b&_|YKE;j(y6*f;UbVlW$FJ5Tpu2wSL~ z^x(JGEy|!fSaaS98mCRljVI^W6}t+DLalGxWv)LFiENSePUM|Gzj@#ihau^t?&ds) z2dZIEN8km1&gC`I{jaUYpRtKRoUj|>n%`TRGD^Qi^MB9fw>3Bl7_~%GIS8Wq+Z6dd z+A5`S495Rn+QJIU%ib3^Jxv3B$tapRKx*gGsPI%2x4b5=F1xhyuLy?BDvjUuQKtLB z7Hy(q@}xv*NM?RV`C)s^jdMoWxF<|u{xc-k=r>9*T3-NG;~a)8`z=81TD!m zPfiMLrld7VNrKW*a?!GLM&}VgwsYjMp_CtV8#KUBx81KVS^Q)Wx^c|sLWkPE-po*m z55IErpnKOb@eXa#Tq`ahkXXjGZ&8Gq?WaPdso{3waTdivyqcGR!=pPa64NMddw>2T zy_A;B>b|2nry`SViD#?($xWo~y}^itAMN_18i;u$Cfd0RX{Yg)LH^!;3i77z!I0OX zLV@vi=qeb}DnrbHoC>v$!8J!TS8U(u4+!FKDIX-{{G@W^!Yx8QV5L!wS4FVz;2yNw z=m)ehci#Wfy8TfUx#$9e7=I_`t*pn|42e<{Nw%Oyc@cHEGaWL=24-NaP)8*7T<2&T z)6uM_;`J5(ag=yCXAXmG?#Wo!JIQa0k7s)Glkf@nNR=)IgR=1HQB%%ZkU3t^qfX;0 zTpww6H7-y}PuJ<^gW^nmP|G4cP$xJ%Ba-1jRGK?Hdse#s`9ux6xh$z3bn#Aa1x(mX zd+^!^A1~hzUEOkS6%hy()}WKumM@_~(bu0)E|hobaijt7aMqWFLkKZmAU;QwdSbbr zg-M#r6Yk8kn6cY}zCrRL!8kr2wJu$?-ZMjDEbMcdAO73PVc+`8QK_T8vC*ZWHe&jz zb#dITTww=p+pu{DhUwb5P+ocwS8SjV=Q{yGC5Y@70(-|UTIV_*O%p}js*7mV64M&* z4s`p{C)6-3j2A92w4CyyBq{Et4ZiJ~ZAX!_nZ$f7uZ+}L_yOzB zcn8e3(H_w=IhwPbd&HY8$emW^EXr+V*tJ%UHBovx_I0G=bGDLa(@g>8&!V)z!t4F* zy`$`Y*o%JJ>C3$Di_ay}2F0peV|X!jfdlbpz8o4|P{(FADm$*G`oIHpsvM^=A#@;1)=-Ye$~zKQd>sb}Mp3?t$YCG^f+G>G(UNF#ax3=&D2dv&SFPJE}T z=dX>!x)+sy_%prL>#M3u?$1;I8q9-_8fWL^m_K4dMj`u5S_&3ntlGF=%@v6}ppOuA z%LZx)Fs5O-9^qbseBATeMsp$%A3fvc+Ro)OI+njTj6U|I*0-?DF#Pm!OXSV0`O(qh5605sC z=ypu^R6TJM!ymSXK_pHCOKYO;kcmcn;E%FH>rbQSyw)Yum5zVTmSwUIZ*?t)F7mEY z72wX$ATN3x4)vvvVUPtq_ERN9_r|@Y^A6|&anUOX4om=f_(39$VRT@% zGn4;Y=_uAqc&fdc$&iDgy!leW4XDy_BTBd#c)I8_spmX3=Kkgqr- zzuAZ68rr6_G#u?ib-kHVLiZjP)uob!5Mb#Lx_i8Cmpn|eWv`QXZx9j*x2&(lMd(-5tP*F5M5m5oc%ll6}3T!^0 zR3fh2qoOQ|6_G+A-68ULcpqMB(vT=!oDm6T!k6;-R+#Kvz!ezMupg`rhWL9i9Zr4A z|0b_dZmkNIY+mRmiXH9w=gC8q9tp;bwF9falw8XW{H%YSoK1m=$SKdXz*k7*qAd(J z)@oz;t3Mt3u8QJ8;5{l!_#J$fYTzz$2okb6{BkJyc_-;J7hzDP2f^n-V}OXVa&aLe za_Zr2>HfhPEp7n$&G5F~i@>5f!S2?pd{<(fwM>l|eUPCjxaABKwLzJ}mIr zhAsCC_h6g}&7b@JH^F#OM#Tz+PS62Xvx0cfOwLUsZpv@*6P)JcuE8GTt2PA-8SaM8sIvghQeOr7q{Ru z4P|F4Z|2?qA(HQFu5WP}gAj%){Io7zktXfHG#QtA-RUhfR9JHOo~S`BqX>Y@Viz8E z0sQ_jB75C$GkE>9Q7e)ecPPt{Xvq@!2{!L|IKr=4`04dLBQ~_XuTir4J6K{@ReuNL zFcAFFiTggsT6_W#y3H^*uo91zC4iYQco4-eZ;AaJtHKwuT3qo#QoUa&-$AK^(TQ0a z66p>jTs)+Ws(ZD=%PxxP^ibyAUdnJ77k$Lm$e;nLPkO7I9d!mgPD$j|3qyk=OL+cm6c=eCVobT1jwK&`+y`Xga zdI(Y>y2Dx+mw4QM8#T7t?B}p`vBsk)8om7hQZGa1I5 z#CblF+d4-oaR5$GcsxqXqQ#vwBfIN0^pLISn2%*b(td%G3hWq-Xd;LQ@SSdInTRsW ziI|j$VRdqP&ac2^e4;DubbYpw+^EK;WI*71k@wx{+M4sT)eIYynb_tGxrV)0`(^z* zPQ5>8D1rvJzL{H)9MHg=!ya<`;W}&GtT?rxIqf;LUdOW`U02>N1a`)pB7nJcf`Beo zER*+HJMq@X9JJY!FVn<6f1n+mFb4SWn}TZHir20#1ijQ6v?)l~35OTdsMw$kOAkj1 z+|u*mHjPk^>+E*766mgLzXCcij_m%HwG;iIQN}+T>Vfmrk~0jM&}~!fOV-?AJf)*D`MdO?07cjIxMg{SOjJKP zJaIJw_{eD=L|I-;es7~7yWb@f-(@{t2LIzavqpcO60`FR5f)w~fI%TYh(U+Sd7}w6;7=5T4uM z7)Zj-0J}eBTQeUI+`0x5yHWT2tJI%>o1sit1u8-xl}9I-2(x>dQplbQ?hYYgUr=Z^ zc2^5@bGH$d^85#%VGragK|8*IL$*Kvso=cE3CZ=v|CM75*yKlRQBQ7@5wt|M>*;u#J z+}&sA54+?LzK7cLJ*D7J=9nApPnT*b(J3vYW|};? zq=CXh>rnL=1cHd|9QH0Y&tK-a~({!b=G6m_ILo4ObKCst9pW(8M zWEMU~1E^8<2a|N?cCD+!+ULIoP4=(jrQ-FBVI)jQX-L?X&gv_n^OT!h^Fy7D+dTN? zCP&(R;F`LfMuF8L5W}6c-hCiCh|r***^>-H{38hrBArkKr&kkx&d`P-@}WSpTe|}} z6)=8fc9&VLxaRzee?$}bzGN;`2Ras<-mRQjV zG)=z0Fz|QanZ=ok>{=WeoZ4e&0hZ<`Pboj931glX?S~89eidv~UBB}XdXOdqbG@Zx z!Fl3cHQs;>IWb@-?tf~Av-RSFLe~@w&^H_*<3Hg}$zEM@UF7;oXBr@orZy;M{p2zcO+F@7$SmZT}52vdNgL17S@@j|=iTIsx=w4d-F z1^067`$Pcb^Mc|t6rPni8^y5gI15>~#o6l6cg+TQSPZjl`3{Y@-cUal@_iiCH9tv; zPLO#HKsYtw{`M5#KD5DE*=oC|FvARL0TW_`!S`^4HaAju-Y6ii{cJ35_u@w?7aF4b zE!pDLFms+VbwnSN{^mj3h3)Nnc}| zakI<~bGHivNAJTDe4oMJ)$VQ79&aGorss_sX&^tgc3pChSqO)zVSx7f0Z}gom^eJK z_((pA`TQIdGl`?!CmrGXlKw8Z|8st?$SNgp9ntH#v%d6p>~HDNXUB#||Flf7padlk zXwtA#j$e`=#A~>2i7>tc;N?^mqU-)A*NOd=b-nk%iI1=j)c!)N7Z^$Vr&+PiHCb9# zNda%MX?KT>{L*C$INHW_vRsQB#)}^?aP${!Jg;XFY5r4Vycv)fYu$&AUVk5nFamhO zc~SgaDGv)+9{1p!+!j1^kH-7w^aYDg{G;?0+OI4$yzPzo%7PmOuVeODU`b&k{kq9Z zJM&B_5h6iiYn30(Eg*k)Hq(yH_sAc1+-L%~kr;K7_GKc4UUc7|18EQoC?~vL+b&e2 z^EF|e<=eL%cSk)ZS_t@(gW2Hy7gIEkEHxL$UkK0vLIg#AKU-+pn}c6N*Agd$=nNf} zaI?USN)!UrLhmgbBI$^v%wdOyF#%67{)&r!Y4fcb5c0NKM*|!(tuRt)<-#f-Ewsac zvxzsg4PX)>3hBcdah}VI*!a>X5SL0U)tsauz7xaLNm5^i21KMxA+gU46!6h6QkIrP>@1jrP5r= z+Tw+Y)UOX~B^5ncgigF!cz}S|!G;yi;OyU+xVw^06v79iMBiNe`E||9mT8JHJi@#1 z`{0}g2A~k%y0kvH{oJR{LU>1pQVkpIi`J>ZQw$;H<3$obvk3>#0ij!S;DY68Vfok@ z6Amt<1jM>`!V!?RXW`cI?L+b#S2evL!03t_TSq>b;(Z~#B+CXxME4fpi0Tl2=m6a2h3P2YbsX9b2GLD3`e z$tuIm+gpvHLEj3m;MT`sl>nkQSmw#^@LKbbx!C*-Qu?5;b+>w!cjhT3hGU)M$B(s- z3Pf>H&L=LAqW9d6s|``=#7wC?^zisdg|=oX8jo9aNObs(OVASbMxJ#?wu{?UluIU;m}(a zD1h_rJ~AMS@S}3JhPEy|ov*Sj^&f@fVCU}slA{wpa}76*7}`FYIO7bzM=hV91_1dl z2>WeU7PU04kIV0IfSZ&%uYZJS11yEKdZ;m)x#OpJ^`{rrfCCEIAby|B@sWKaoG

F~OC=OHGR2Cg5EMr*(MmU!MJgOF>ix{JB?fuhTJ!+yQR2coCI5`}1x zf9w#ei&ThxaF5A^2!Ior^YW;Sdmr{hE4jvfJU8|8UVd+_S&qf`ef*lsJ#aEIj)XtJcAxo zU6AOqa|(;%?fN(vc73bK4l?&B{etE3rmx{V_>*p9*Vm_rRV!y!3P6ZsbedZ{YXP-< za;sfm@zHxP2e`c%cvS2Bl=F`nJ@WX2XlEd3I=!}Z zaXWo0v|s5l(pHJ9P@r4oS|O2KKXl?Pk1D~TP~}ISoKT=6PVpt*HH$&#=S33_4bl&b zm{36yqWjCgO3JvCj^<%_bQITu&@oFr&nJ2iAi01=9@DVEDCNa?F@X=a&#PNxAGu(2zjZL*87U)5*9pZV%a)u7#B1r>2(w)Z-eL7Xq z0X!5c(7god&b`N3N4LGOHwoHExuvJ$+KdJ7;z+ODx!PL z(*-Ko`0#kZOw#@oJ{u#bf9M2qB~>>K2x@b9WKV|q>ct8QUTitkPWw0$6|(a4;)l4O zccn!rjTJwJmQ(`Tb_&Q-@)Ha?33fE*T(#>2Yli_TK3$K{URY7j3e}?1Cd!-gI5CLlY2Ag=g0Ep5rfyqo;UZZ4^{Iaee2*_^3;UMvnavRPy*k&o9oINS#;B z;?Jk30lw=l?$PFE)05$qCdF;TMM#aJn&s-Nafn1t82W?@uhWN=@#x;YP-Pv$Z^3t+6OqF03Ca2w`R>j*>^< z9GeediZUj6tNwWnZn(%NhRdu5i}!DvSUYK}nI~z1^B+A1?&4{uInAl*uLa$94>kyW zM_FXBuh>Z^TON}gbZfZwcH@bsnm>uFG;S0^PLt?7GtMA&!38o)JGj(cyQl5_axScf z!@4wc&bC`rVAl(`oM*YG&)i6Km>5WCvXC_1Fr(rP5qeK)l0^oH66AJQ!kK%)Xk!gk zteMr!gAPs=HFbU1Rz6|xCvgFN>R8-d(CSsY7p;tly!|M7vX}_o^N2;VV&y7-cRSoX zsF)r2h=OgyXHhe-xjC-YNSm1&Uv{zJDzF+)o zk>D+oQiD{r7A$e2k0Cik5$OvHek2NJby%m|eqGB_rhm9?GDnJ#J<^5t@=h*)FoObr z-4`O#7bliwHa~t%8oDVaU}Ya(z~(#YA|o9By}}6fAuhajQ(BX1sku(uX9Y|8{T}zk z`fuxj8~1K&yoL?mdvSvSah4@1ifQ2Hih0p-RpaHw=Xq#_Dd7Fo272!dAdHh;abb~_ zdO-m}VhF!0+AW78pCZVee|A%a9ce111X(l>HNyadU)qm1R}5+99tCBr+QVp4@o59nf--U4*=qUH;6UveYmsi@7GJJT@1yvsZ2(Z1L^ zqfrdUXYPCGYm-EUbYoKkJV;yJM!Vm)E5bra3WNOOE^XTi<(R7(p)jClC8H+cwSoV! zISfGQyQL2qJ^*x{(?unvzZiQJxr{;;F+GPN^l)I5E9R-8SKc`7DwxCvFt$XR#?&2x zQI#;@YJh84S}^f#k*1f~2+|cvCFm>c>y!D8gAj-s;9(Y+g}(4PTx$g7=u<!+4c=FX*uz&wh%wz{$sfHEjZS8Q+F}W{VBQ8&Iwy~@LxwO-3v5p% zB+~SkZ)!;uf@;28SLLC}DzuPxXU(W(*sMKcXgIC%jylSghV;D&ruC{9jh1zRRq%Ey z2QE(+a)J_EuHYMF2@?BU8vK@LNlCELb1tC3XfNC*MhNzfj9sGkNs?&kqME?~*7vm2PEc8Y!w5FXOgmxv zGn8z|Zhl97-5Y!hljU?4O87Y#)4;r`N_Er|aQRyrG@dHdphD*H17xQvhjE481kLTY z?zHO6VWtg8uEen?`K8f4K73_k0%S%)smKL?Y!pVY+X}w`^%s+w;e2 zEug8xJCu+LZ+7FhrkuvymJQ5_4TB94lJ+2S`yPWLH+u-6`|~|zlQX$e_>ZtN)bY_R zs+p*Pi4hOdH<8j4}0K{=`tzjDs0OFK`IG(r@wH%uSg|cjPoH49S~jS z7RY&zQvzM(C&0|is-{F*kuqQbL9xY8vviEq($$s}w-eCSgryZff_;}0t|3jiRx168 zT8g~AQoQ$;;WcS6z;&U4X7p3+(e+(#LA-K#ib! z4!9@t^weORlIK!?HFvkbcllo&Q@e=*I z1ch&Z84p{=kWA;Ne>{Q&2(vL()KxvUC`*iRYt zH6M95r7ouEVrzxWoNf4EWJ7LO!;RoXRC9$A6&9I>Kgcb3S(Azd&Jpx@y*avKyqwyQ z_K~$J09-$<^P7`?ueAh4T!-^L*MU~4gtKGmL|nhzNyLf4daH#vM7=ld_L1LymHw8F zHfne|!}$GA4S+8h-oV+?X^0No?*3JLLPM%@yM~9#5vvh>GuRtzi{(!GAf~>TbGBru z>*Aa-Hth@X0cTWoHBjj-G3^m`oUXvSl4$awiI}rzgdkA3rDhZjcq#!L?X8)A@)u(i z@#}SuN7Mtd__9y;{v5kpbZINJ7ZQSLDoA}vDjrd_>bJEC0Y+{bxVr-S6`((=K0yy0 z@3Ao}fE02=6_3a-x-d4g?0fA_mM8W%%=u&6oErHl1`7g7xDAPc-LSthF%FMRKD!I< z3iz8OCEp80P$P)Q{`9>;{kh~JA5^Zte}g99KkA%2{Z{Z*utty}47jz4yLm!Qtn;@P z8xX-^(=LV*>!1-~z18JE>eB6DE)!uKBh_`@`!$`?qg`TW^%4uHMD~OZ&+DeyB%!^zQc~T6ITdb0oEb zvM}(7FPoeJmE&Wn7efl6qUqo*Kyg7J|X`?jvg%gx=nme@EbL zCv&eJnoe@7jPtu|>lT!}>2QSXQ-Lvmcea=HYjtNAyOu*8w44PM5P=FlHi)}+pLiZ!srf{lh83+dEz@k=AkvFD{kKJQ&*Lo`34rnu zfXo3%w_KnAr$l@fK&_`L4A48zrZA)Cj!mnm_0#iypZBp zYzjthvKSH{12moDY1Grke^@lrHf_%aY*bXT>g`5(XjMM0W{fGT)}tZjMqhc54Wi+` z-##ftx==7`;mh*Z>`m%ibh)A;oAMJX_csH1-wv2GI2CHs1EP|}*Cxech?zDS#=s;$ zvDYaUlNbHVLOklp)QE;_spjUR;F()OXDNGUHrh^3`Mx+d&h2+wKN*4DPn($*1wktZ zdsOVi18q8LNuUprb?D`39R>STdksgIA~?qm;sqaXh_08tzpp;+1OcvicvW^}=+jq1 z*0g{lxe$9b3t6ZO0R1Awrgr;qvq`~_1;~tz7U;m_3 zi%hR%MifOyWRzpTCH2)w)`Ha+)U1u62!5wF%gbzW<*O!IPDo9B(bFaXf%&&*py`)H z#8{F2QPtzKlDvN5#h;u}LPU8Y zYDS^JlMPUrz`-;nf>{s`A`IAynx!$I%ug+{Uy%Z?@eb3amGi7k;(33!mi}4D&!*=X z$7Y674Kw`$;^BzHrN06t1tXZUg8%tZ7k?yk4G#qAS#j>P;-Y1=@7SdK@!N>7831-u zbp2%UO40fQ2tMFqrn5f}!3O!mo5&QsSj_xNV%*x_CME_pgTGDg8YL#2a4$Z87E9UQ zjR!2q+u};?L}CL*@epHyuXouZp;S@zs7tZ7^u3_{wiLB7uG@rslkU6kg;dNy;h79( zpVG_+xDX8Z^#vBoHfrc(sh(brQE0a>!HUZGgQA=o*Xnrv>*Dbb0!5a$7JFFhC_g zYyv@6VFmF;d?~Ug0dgM!2k%EbnR&VH6#3FDg#~4PY;t)?0{jY3-zlxF^x7AH=tWV> zCAUM(3;@-1dR^>I4g9O$EuK)xFY4J>LD(jbrC#)-?5|`ZPMh?N8GTjoW{T`RHU3;P zzOpifY1TslnYTfzI+~2wPhd8|O2AMwlhtFi|4O0NA`qmuj(hEE!)ujhDw7sJg<;Ov zLUtoyDRLs1(qP>0OK1008s|!M#wrn*a$XlY8An{ZPy1H7XaPuXVdc|;pyHBtdfG_| z`KKV8h;1ww9i7<><Y?dG z01Boq&lwB+of)zDzx1b97BNzH8I8C%mJkP6JTMytwO+~gO2x_k$qzK7tQAC(?*C?L zgEVh0hInabeCmkt&kII?lGbb*q%&n}55A+jO7uE@@aNZ4emivsQ81#v)HkuI-nMQw zH~F*}lwleC6(4IWh+w(1)9y>W_W_Je4N0qms&=P|Dh(nv@R0Di{mdQXq^b-(E$P%qfpUT{)nw+ENg`>Pc& zzlu7KQ|}KEXvUzOyyE&9pC2h;{HJN8T?uqYh@V(!*S$NnJ6$-!fhA3ZULR=h4#h8!+FKkm@2KFJUtiF>vzY`^ZyT*_JM5gl**))-c!k>iVP!j6ERb&QN zbkSX4Yfhv~UM!|}aXG0=oGPAN$D&(~J|}|!J&@OTPR!ZE)rmI&u}xAl!vnSPSf`m$ z|F-ovCug<*l#h-P_^kai)>bA3;I$>OIfyc%%4gn@p7shGd=Od({-w`zW|A_Ml;PZvGkx*rVWJuZg=oD1E*Z`tE7uvLh zIi$%~SXELaoi#nVi%up2-Z*(CJIMXDidu2D3kz_FXE2ouBLVXbS-F_)QI}W-b1k1a zgm;L*Uz??t4Mza#0c8YwUQY>wp+#syNn$pGb<~8%2c4i~m;}BRx+s@jyZ0Cy39XSM z8$LlP-4(1Q`hhIVmsC2wbwIi$+~Lz$8zJ|mSwn&gp!T=31shd8v zf>if%BK-BIo;N%zYk@kzmRQ+3GtlccE50J|MAh&S5LQJ4-P=U0R-I8UG>Zazgs&N2 z0m12Q9FR+DHVrN#S?x$tf1l{i@%%7PUcNB)6OM50#rv-s)G`!j;I4+|_jK0muamNW zJ4FiMb{}&93(3AY@Z;5GG?eenkL`;SVQzDIVc+xmSJaiYV}KR8 z*)zPCsW-HgkaI<+8C@uVd_jNy^DefOfjR*Q@&jc9v*3O3Hq^3-St=9C{KRZld|V5^ zJWpK4joZITe)tb1=+YUtj@q4Pz0T7QaXAV` ze}mf}nownJOc&rkPf6)qJ|#c;QNBNc9N2wbEJOI-mFXoWzv=S8e^Q7rcx{WCoDoIi zWAVj>6gW3M^=GMGQLf^L*5NS%iIG#nYJiRF%kL^y5btmd&X=}#fz>~rEp)M%-7_|w zA>e~w3$$ojkMF&A*`Qhe#R)2t9E8h{54l*3VKNTxP4Wzu0Y-N-Hto>LNEDng(LZx?_IJTi!Voe|5P=#}`h-%O`jBb+}147Cn82n@0^; zLMOGnKzrd3UF2<(^&9cg^A3RhA7R;~drM}*@{_e-uRPvNFe05F4e09FgYu_>Q`I6Z z`RX*HaWz0VWK-DvtryjOKm9{{x%k5~{~=8ci^1OQc@>&wLp)0mw^hUZV9WhII^s7ue)J0KZ7 zrrAZeS<#6)n3{W2fq{%DcR~W1vw#9!h8<}))}5-r!EefZkPbMfB$MX3gL@AM zm-dzZpKwpyU{3rWxL3>3vVI>y^LUe*8(0dt5w8V;?#XXq34rjSPW>)7Mu8qI3y+UU zLdA>o=r)5WN3nU0#Bl$K%OE0OS@g{0AC>0Te-Ihp-UrPG%Q_T zJYEehNl-U%gCc^9XLqBk&iI>6N=5uLyxe>4&>vE~AKk=p>kL}=CZ83cbb2(Zcef3x z+VI~^NA>>=R@uqYJQItUw8m!_EUq?o&XJ~54{8FCoEoW$2P+NT(Qbc=cLMXr#*~e3qcz8{F0%j4TW&AP1kY)0ylgz<`W@!0P`&+u+Uchs3|D zw7{tll>s2i*tKG4fm~cCQhx~IOo6SD?u}l|UA5j!+xAXIy?c`9uk{J~AwPn*Z{f0N zrf8!R2FT!W`!;+6_kx9q3}|K0OqFR6Z$FV6hu#HK;dnWp>0LC@zc07Umi=hA0*H!_ znDZGtS68_zPbHTC&Z((PsEi6^fjS+ok>oil5OL-mHU_m`yU&L?Z!UgkN95|duaU_H z%gyU4OPrOPoD^dKT&*T~YxmB2^rV|C(m4lwqP*NA(m7w|fdGC)OunCFHMoC4UD-FH zWLiGwsYU< zKJ5!3Z7?d2t35yI-42hwo19bdUuB*6qaQfrwkDbm*fh56xgM2qKoRwu4XP=Z6R)WF zf)s!{_xEaS$5voMWcz6I;|?#Up2C1G#VNC*)$ghD{@yr$MwgS0qu4wBVF=3*+S;jc z?ST*1+=4vQs@CI2LZFKChs&Ex?o?b<-Rg}2K#+SdfFiP?QVcKHo^hv{)EB<*RDWLG7 z6z&esmdTt7j8plDddZGvHoc^j8sQl*pHuqJ?%7t#-bv{6iih6L5dJ$+1F#TzAw7x) zxC2QUGIowzKf7Vc!T3v&uw-Wb5G=~4z=P$_;tU`>9hYC~H(0==38{bR^W&wGH@A}J zY>~{9T?Qq*&Rl_}C$5(7aDbo?`netvmN(ZK5E=Lzu4rrp#2*Rcw{=Q^boW#YquFzT zkUkc~?*M)HJQLh@0ehODP^2k^}d{sCvE&Gv|8a^yyW1M77*J z7S-%e`bM08%r7{;&kkN2RVB44o}tD=Nxo@H4rf>1U-Xp?RGv_qjR2M|fA$%X0|Dsr zHSum5Y!?a#{v@AsOxlS09B@7TqGS}b*PX$e;A60RZ;x6g<}|1su+}OhwB!@gj8zgu zoako@vFTk4^5ejsV1zpb3)tbIAyt!ZzfC>O@DERB6|==UAVT4*T4OP4>M6hpAR^BS zD*M|AS5z`4USR3?o)c$H&bGBi_%ARa?1*Kr4OD@pK_sO1P*^)4MSM79bLV++t-W{# z6E;0IrGJ!sHjn8GtWRodH!mf&*K64&Mg!NSHg4^Ij9KeOU>Fy=&MpU5It39!X;FnmZOH(#Z|u8T=0qNL(x=Kv zCZA)y+ey-q>!R(fvoyxj?%x)T2G-N1N4~T9ZO;A+6>TxXb*60DNQT0%UD;% zSeC}umzGd=pm}shh<+WYP&5oLs|mnjKt;NhqI8XK`;1}P@H$B^p!?zTJf2Df;5HOu z=cR;hir!ni&A7#h4`9VACoS7PQZZy)Rd}#YJZV>Ikxh?8`?DDDHagJUt_0&?IS@S! zHzG8|3w$-BYi*Jf&`D$OunWea09zf$s_^rIZK9u+uv7d|tO({&7Xc*I;e1|W_z zG3zwfW7ACTv84pLN_tgz@q+K=^3#&Qi%|>=w_`<=^E}Yc*nIx}QV#Bmv=()+7DWW{ z#-Q`kvu8W&)X$0!gG0Kz#^Q%K@BvAE4i6dnC(+dBEosb%2+}d@pHqYF>^LA_fml|I zF&^0DA%C$xsq6=b{CzfQ$&aO@U5EKbf+=E`Qo#9X&D-~t-fO0`5QMviZz6;*d4ON? zr*%A&`Qtgbtes3~Xg|bSjo}Rjr0=(O#iuh>c^cpcY4Lh3EYE&(EoNIv`-J5 zVDSlxHO=&=trGBs_Zh*1y;gCu(m6C@(V4b2G4jnM*%c-wm>f~X>PZVxOgcQQP421A z^Q$B|!O8@ECh(X^l+>>%E7yN2&iEDCdvAv_ev#&icU};e&ovtUtOpFVuX%;UaUZ7w z5GW!A3lL44(WqL(i|#`M_6a!lWeyBy955jt{u6?8%u6 zcAc6N6n`#sa(y=F87zsANMWj>x@`zR{+ihn6h9MNF#ojB`Oe4D2|7h^h2_?@I;o6^ z@h9cjo7)+e71P#4bO)nRH(Q%C$cu?5c%F2Kd)Ej8KPke7E5B~OIR2)4wZtZZ|4kM5C#)QI#IU zzhz4w$p?YSi|nff;`WogKTeicWGbgA10OduwUzv(J_kkF*|I}sc4QwZJ1ct^vNDf-*7rVrKHuN(@8AEw z9{%a!c3<~>UDx}4t=H>$i_hfErhiN-!o71dwm0x>fa|0pW8n|#ko3Tu4z9)T!{$*b zOa4-4T*ZEQdJ_rqN3MGmUqqhcHF;@vYom-Nmax7VE1_j$(DuE)82f3VU~8GNN{;=M z#5?}>$F84tjx<1Eb?(>Tn97-jkUCSTc3lmt7sVy_2MqPw z5$JBtDD?F~7s+K6wG`dYefbPL#}Rdw=1cu}7aZNkWQt1O*L`4=eWklHK5^&J`ZR~a zO>B&)>Ojh5b1(6={V8Kqzv$;Ep?7h(wB>c=Q)cMrdx9(XjMFO*`odA_qSG2Nh#7nV z?h6YI?w3`{=;frcm@VU5Zvo`5j9Pu0_NJ$GX$17G;hA{DDE^uD%$l35wp$lOr$^gv z*5s-}>GWN^N2(C7zs>eUt_9Es`&Yy~c5Hpk5QUpIsyL3>OMnCGB{XDj8n4|P@uSQ1 z)&InIH(f>p8Ts3j5~Fh8ygW)?;im@Q6UBi(U+c(vOLLA}4iv2d0h|q<<6vaOy zDH}#zu2x&BNI;O|oE*Dp4K@1grI zM0Yx%G^a;r8j}W-?h1kXN0EtQzPHe179>v2pXgJ{U6)(0yv&#_v!SiQ@j^{*Tnz|4 zK5lr(1OJnwxvb&*eEW%ZQ6E1e;4AQ3Pbu9x{$|7lSh*_wp1h-fYK2$`s_!< z7p1yQxH+`*R&I1M`{cQZw@dVjsUco7oY0`Hu`vck8bYjh9+?QgqbgQE*7;sCntu~I zKr{8qM3&c=ZNhb1*W5V?b*dRhVAVVlvjCS~i_oXn9Jvhwek2(IZlN9`KdkBm6cRlw z!7Ux0`~-cdk+A$8@?04;Ly@fc)}-P%YGqyEEX&+)uuq%~qPZiz%HDc24YdhtMVrQ6 zw-*{M*sRG6)&&J<77vAgHJ_S^F)RPrg!B-)-#=B#EVs#2wl*!z5nYeiWRY~y-PmmJ zsr3uXDeFZ0ktm__6KtV%43oL-jkSt`zDmyud>50ZKw%*Ld=N?D;5`b1#HN<-UL+gl z*!4xJu1x@0dB!91V z)D_Nljb{dGeD_(t_?Z5_vFEmC;Yw8UQ9%AwQge&%bs*^|%d;Gxex)+PR-yx2Pp{ZV zR2eQtd9rv)RZfAQqSBot6=Rl$FS%Mq}3 zCYL)!dnT77OSX=wHW+9tMbI0o8BPGQ^Q7~aaq3oPc&F^9=|9c4dafbV6OQxVdh97& z6pMM@Ep2m37?eBM5gAG%K~6)~1W0PWEm-_EU*-M-#eUEJGx~_A79G8!yxh({GnWvn zdF}ZDJgbA*tSSF%R3bQIA-O~_Y%AZX@{x{J%2l-#28kM=sU;TJMme*6uGa6Q&A+@S zKgXY*Knv))yO^gOWBKp8-xqwnbFX>_{owwS(tH0Aq<-X4UM4UHdwtRnm#W~Zsof3~ zs-(Op2khzEUq@}XP_j8y1G(r`b%Z>}xcQ5J3fWI!vh2!3MSd0@vHK%cVSj@ii;{M& zT&V{o#L|{$!rB%ODPrL1;*?c<`9Lr<>c1712wTTq)>+%F;}?6dBk?EXn%eH-u6DYU zwj!{%@&?Ma>ey%_q-$Ay)dwljXFx29NjbN_u~BJxP7(%qm`Sm=R@(d_9G7gl@Bw?x z(DQl7r;j9_(Da9scU?glaVdrPL4aHgBl+62&R^rk5%^kgR?{&*6xk(+5(ym2kQ;u! ze!`K<`YR}2N&L=#n#GC(=72T%*cLb?%fCDQ;x|c68wp*J})v3yO%UW+N3O?ZW<8+(4FO2EY5}VxW0=Y>6~8 zaQdtR_O49tyv#1@jYnmT3~KZ*&C-yp9w^GE5BW`z+0$E@vm*5>W{gz*!GaRs5qo+QmwWt?> zm4B8)e*Entc?(kU`Q+y`L@O$f9w%f0Bc`&v(a>*eHRBy zM64Hz2a@7JNa(V^7}W&ck!oy~e4Q|N0;7nwD%ksQMfH_rMS-5PYpdQ}1TiVB#{lU1N4USnHM$W^ z{)o*@4~eSICW=9ZhrzLpz|gZ^r-@H_RzXprUg7`edG2zj#&Sr$R1gZ3!Q#n^1 zWw&BGgidZyR;B#!y{qi|fj=^5d7v@MLXCL>+#64 z2|-)m^UvZ$F?^$$VymGi1PB>$*BJ{IC4XE)1#sj8e;QIUpL~Hsj|Jf3N+VZOBQ(6h zx~u~Y|BJ2(%XF9o_shT|$=5U(guUOze7Y9E;>@OM>m)9qn0<^ZOeoJ*u>%!E#m} zfD3?!n-!Squ>&E5q1+3l1zb)>###+E;2^q|S!nOU{S%|};JVYT4Y}}aot(7f*)ZM! zulyMl-P0Pj8jGXxSs=Z(i!cC7upA?9)HPe!ETdnDXxO_a93gAleuj6u?Lt9ST zskgoFm~>7^Szn)E8Tj5*__^8XNtQD(42N?54q(1mvHtj8=4VM2)DWi4zyy4{H_As~ zW{bNrxm-FVs~Zctw?|HQnY8?I2DM=KW%+W27W)vF7WRCP>o2=bNQ-2eI?=NO`k-J_ z@4RFzPA!>~jf8m?@TkVZw+{G}NY%Wf9y!1v8k*U6awV^0oR2P|bx=(@ZMr!4C-1*p zSDXbX5I*ViM9uH>cZxn`_dbT8;<7R}Xx2EpOQI(5Nv{l-Hqt>qPX8?lnh5O#uqK{e z0NqREXFhuytdcpxwm-!ezHUv3N{hYcZ1@X~yn(v%Fx_7R4blApfjZSoAa#2x z9n@2#a$Q7(V{)^^gpm%uuBMd2wcL*}Ty9eUVYnstx9%CcEzOOY624zB^;QW-Z~%BMN&m6@ZG zdkAaw$=GpGVPLOL@XO@hXXoyfQARf&QXh5y7k7EVGBV+M5f-5e@@qDRohkZbd7@Rq z0?e#H=E~eN(OutAI(zw*WVb)R2A(MJiIv&JfbA&^OVbOI^IB6WS!dLX6G$Jb@=W!} zY&X^gO{IGkh4ftNR}>YrWUME%otQjTV(WWBYjnste2?;T6xs6BxzwBYXyZe?YxH}y z(63R{0GPFyrBXUC9Nz5~emY4X3J^+(=4fS@96zdx&_I9C8B1Cyv;?}RjnY>OpOGLF zvocQ9*6_%Fa+`H;XZFlIL)!%SmE~*9Z7CxmH_~~obpkO353q(;P0_rSH>-W!F#YEsY=l2 z%?l z1RLz|+^0{g2z(dpE|e1~5xp>pg;|7lLtBT<`gl4u&a<~Id&V2IyeE-`BGrIp(8HTO z$P1m4_u;k8fxkfsPI!qz;@XRjS;zWNA!snR_R_pv6jn-`2w>#qdl1oYfE4gCO4!=C)X!IxMT%su~ zOEH}D_guzNNp2=M2$pgyx7Jgmkrf{fENddMn*${BV%BXxb-gy@-4`f_-x=tI82hfgcRwAP5QlN)xXK6De^2 zHU$jQZIA}P8g+-@0E0BJKK&HU1X3L{*XLXYLfeZ0LxGGh7d2!D)qDZxrpp)RSBG*tv} zfK061lNAXF3PoD(6B0PZwdmb$sVGkf@Ym~K@{9t3n#dE}p?;+N-#@aNcI1f3#ETQdiL~rc)tb1on&BkjwUV7z6TLya~{< zNGAEz?+Nu;W4{qF91=kR4VMX@k&AzJFtHzvyyRQw;gddQp&g~H2`i2W*Qd*ReHU$K zV{G`*>ZD8O9F494;YlC>fyTjb;cKT48@-m7VAsla%Y|FvCeRt{*@BY-Pg+>@%b}V&oKKPLn)CM5W$$GbDv{lent``hV1|POb&gTETbNJ^JoFWf0d!#sp2+ zKofS4Ds9GI#g2VMSJP$1<#=9Im%&*7N>-)kzMyn54f8tQRW@N zB2oK))xN5?*A~|`+{krdVy?y^HXN$vEQMg8RN{(Y@NM{)bZ#p&>e;oo0g)7;S~pbo z%^0-7)f>CBvQ901e@S6gKz^Mxb+Jy5ujWS<|!mC8WBHd*8twMa=B3Pn=B2cswV-jstJdu%DH}7&w&EPBV_jk24vP0^@EwgRi+! zT4%w#o59R>j#tX;_1&*Z25CLkGnR`~763POZ>KScFK*@3GRm?qU@m!l4BxbA-@IK0 z6g^a7NYJr^?LgY5@7E9~3+tV1{tuojG>TOa}U@#Ji%czb@*vUZ5ta zH5H-+-t#f<$!S8d>Nz53qRe_ux*sZd=-D*5_mp)tds8GR_F7!SSA*}jPt=@Pz;>*t z_VdgYItkj$ME3EOze2Uoa*z=97Q7eA>}E-PVEtjrb+z6^(;Iu3mE`159&u)fKlb8z zc#b>Pwqqj;>3v$(U;}cp-YGHciq;;&Ade@CH4jWN%p}3;$nPU@e3j))qS=5#FyZ~s z$!XL=TSH}NZYvJM!$jBxp-_@LlH|hC_r5r+DT;|=q0o?=1KD&Fk_XHn=-H5RA?N#`yZIve<5G6NK_14?#OQqW0rE38!+`VT z`=~Rzq27b4WUcLoqXMEU7@j3P+59Apqrf${rfN`r%HdpE^ob38?i0*M~<=$3zb@1tv2|7ZZ8?A(r zLS>2Jw$mFB=}@Y<&)`*LJFg>3~7CW59dkW%;ijnKH2lM^eCt#jnhCfDo}UZ@Tm z_68cpUmx7OLmvWKuH;J+l$BCQ6d zrL;-~iY6*(9J;Z9fx1PIhi8}-!hz%aV#f;IGZ&H}!8BPQa`;1D?$&k;`FLfz)@Z0h zlxr$B^rQP6g#5Wp(D@*fY}h3DCj%E;++-=7R%7FsnnHY_o!9P66M?4wQ8rUBJ3a6E zDAoI$!UPSmM_0A7;5 zPWqiQjvT+ojV6=Fy2{O%X(4t>Ao_HZa?Nh3r-dqz?)#fQ8X;T_E|1f(l1uzA3V1NC^Em5Wb3r**C;DPkfdVw^LUe4d8cO7dBbOY**K3nP~?N= zo%Nk~`$8S~p0G2G&W6k3nZ;GcS_6q?wIucm-d02RyNgYNz zPJucH7%wx0)rWV7-R-JAVBsbNaqz zQm$**XRfm)?bkq*pIn_)Z&@}-0o+X2>VM~xTWe^VtwClc%ogMRI26|iTgH(SZg<(= zR-0UI&J1Y2_B?$a7SV{2ZMa0!Uz1ip$HcYWm=j<5TvRu265*>Vd^edEq_(ZoTSYcV za#XSUpD82#AA&T;Hr7>=ux?-aZuI#QdvG?&X;bFHM5FWg)XcfZl5o;A#uP@{ig)Z3fi&?mHQs5Qq{7Nt z+6!Dmg?fXDt-->aPUPXmtDujFCqD*o^NT&1VVJdF&4}fnvqNu;``(}+qJ9eU zya6_SMqoQJ>0M=`*>lVv`euaaOaHf%suPD&z>dg(N>alG@QRh~#kg|E^7LaBRQBsM zQAuzHZYHot0;22k1e3w|QKqoS{;KIsKX;D1&cw?hQZE@>_!^4*e%5Ovu$ ze2;Qdnv-VW*Mbk^n%C zCVnFz8HA@Q_b%jo_0}Yjc8Vq|=OMC#{XoZf`|CCA9S%f0B-!8>u>vfBkJ33oB-m_7 z@Gb!EG=v1gTkdxvn0{i0db_Whf_6uc-+W`qC$y44X2a!~gPN4H4fu4O<(;6xh0_w<-#xhw{NmMwY z`qfy1@LNVbApT33!Na&oX!A`As#9xA;%amAig;||B`r`b?{#ET`Q#dSmDO~>%`M%^ zWkVPgzeFEP<>N749$Uj2@(ix`QYoT3KX$aH?O7maryePAqnL#sZL?-q$m)Iz0^yB! znfN-8+Q_5F4#}=&#RdfPpJrK@e(V!`3@&48yqu51t6!p?FbOJgEGgkiCzWL*mFr;^ zh5KCJ-7=JV6SmD{trmndVc)bspjr^r)qSfsb3&%Hzwu;-HD6w1 zDG{v4Vk3246c#Bq{BS=XvKX2278a$P4HD-Sg6)oT%K3u)j5wDc30|o z6kdHjzVFPR)L3h4Q3T`XS$dM4Xvn^^ma7Yz$+f^rzg?ejn>oZVDCR?i}~E9fB$B&Z3sa^K}90npbWnp&{ntf$u&< zr&c#!@P&11O6DV^Xb4-4974^1!CP7l*?)H!*b4b1l-o>CO)b*p!2X^pgf1}u!E~#7 zC${m6loB{KT3P$~SM>K03Tsq=A4hUAKa!ItvDMRsaURkrT|9X*x;m%iA)!;hLadu$ z#UC>~^%ob$;wY_F22C#tFN-qlWgI{GYA;oEFmHeN<%XFwSSz-e#quKoxksrwECjEzCXS?EAHr|Q$=4wRfJyMVO; zuUnbxq5bcCilCB4&GR}UQ@`w+XV56jSEH(m4u*}0^#4(ioa}B4pVKvM3g`A1csJPU zr15-12>Ktm;T7DxD8zzMbkGs1B)p_l_Wq`NkRSotuP1|Q=pLf{X$c9D4iZz*LgT$c5t5Y2G?7bkgLQ78@*;wstxU~#w-oM zzy&^k9PNOGExxZz0$Q2y^O0i1{tJilg*B5db9O%BYkr7*XLiJ3wSzjBqIW!SE5A$k z@|sk7k)m^wM>A}1p6Ybp0@{q33O`u@KT?rvZrbz!<_@k&xwR_$KIX!7-CRuVkPq1D zMH!?>D5zACWCVTKynN$`J=KB|IfLjGo_Jz5OP4dY`_Ai@;DJ7S7t$r6Mrei7CGazM zsV!uz$egX-np)Iy^A<}y*~#xfXJ)wlu+0fns9CHYwy{Yxz(kU9|^zKUt3Q-jELPFR00eGCqxD zu^;m^C}|ds%}-%=Wl#Su&tbCOj?aUU)(ZCBT=y$bX5x1zr0WwduPDJ_VLibIC#raR zMGup5gNM^+rl*X>p4sR{yc$vpLdLkTOu|Y#Vn~GLM}h^H-Vxzqa7aKsAN+AQwLxBR zNfH_1$=QbS2tc&0{UXdO$tZdzINry%V$>BYW!i8s zG=m^GxP(JUTJYa`Q11=|@k4r==Pm@<{>(Y}aKt%ye2mI)H_5b`@QPqo;#Jn&cjT3Y zx(vd!i{8S++Tz@YdW+eU;+dH~Tqj$F39~}(9}X513QFrr^h(Tr-pv$nmAD!{9DAv3 zgAH@(%@vfK^o?Jt8m3;YpOj`oiPX)AWvR{-y3`w^?aO8Q~{H4YZmHxSp!(iY@4Czsi%pcMa%%1Tt18_9BIFyqv@P`Bv^7xmrByiy~ zTgC8)1O~D?@MpY89D*5#(K8S3mK$o(^@eg`!-Fo~aHjN}jTrK$ivFW2?y*k}0J&X_Sn7@n6r|S>B$zO%9TS%(?cBY34ZM+<_LQu#Ev>%!X=>i3lXuql)#Are6Xa^uS3W4HIHRwdOUH_V zY;2CO^9Ur4_-153pBo!6L*?HA>gW=UToQP@;c;#9@<_~joC#%86bDU;KHnDAnM7XM zvYaI@^{a=NsRI=ri^d4q%`>#NuUC*>w;vbR7C~aBmAtJ)%D<*AcV?&i?+>gmx{~rp z+xW7qh-JoQr|Z=M5Qo^akH5t>tf*Gasrk3SkmGl8w&zynS2=2Xjoy4ds0GO|CYew& zF)6fQf{idD<34FP$>(?i zbfEiURb)>pv0pBG#pP4h3NsEPk0@*|oT_lIJ6^?tAO%V9e5HoU(`4*$+z?ek@SAc( zY8&(7A8cOeyLkR5KXiAZ#wTrew6sO-Xd%BG7$Z^~&>dQVf^TQJ6G* zh_S?Fk17(lC5te0MPdl<@DTO!+quj^#$SzI4RFKl5!ji=J>s>)xfT105M&;BJ_BDY zi}x$SM7aq;w5Ig}VwP=lJ8@PsTzAAy?2mI4p}cnM1;^mwCxZ=F1R?DP#pe&ocAw?3 zTz(4_?tq+iz-=x#;QFK8PCGt9;$WV8J5)&Z7gaT?>-KG+N#=Nxf-1wxfUD8WEIUk^ zP?|x>DRz)jL>lStJHvM*15^8Q?klY(mgl|`cUhnVByq??Zc+Q+&l503$xl9RKO#)t z(19KZea*q9HE1MKsfz!30oRn*`g?E2Gp~Ym`3{ug#up6&kft79Us|YBpv_GsptiC2$jNDP>jE?{!2a)Bjhr_4EM21 zd!M2Mp%47Li@z+wE-{e8sLqN8FoQV_4>7Oqzi-?c{Z`&5*S((7O`^!uFxNeII z@2fBfad(pGNOyZ>+zIcOc+Ja_5Nn1!B7FoOS7msd@E zbep-dhToHOuIl@i9iu&N(a1V}_Dk01FH&%OO=}ax;T**~A{A&XQDdsgVZBRNdZO!LnDh~Td zcAMX4=BD*o-$qZSFP_t)ERe={$kFi|oD|o0hi~trqp56U;Or_@v47Ye-zWgxU01x{ z65~I~`R`+i$e)3S+Pw`uld)yhZ(jXY2UbrY9$Y!)Hd)Z@hGYWjCWymBj&E>G$W}go zR!Hwb3zOz;xvMdS;dsC$*YWPYIScQ;ERqPydE$;*Mfx@Up9f$q(j1L~<3Zrp#_&`Z z2B?tEL}K~S)-SHvG|m5UFBzklp#v^(BTn#89yXGi(33~`Ng;4z?*rIx#w~N%cG7JT za+y}# zAIFuJo< zcx;@7eSCER?zXSnDt(M1fvGJ!TQ#K2)1x|x(8_{Krz?*}%8;@ z&EvqiT}3ML{pokE$qczoPEQ8hbc${sEiCW9enU`k4*%)ZqlB?R z&IGd{KQH)#W$TlT58D&N!N1%3TSC{x&Y3JN)T*H19H?1UwQK9|Uunn|E=pY#QtR&T zo!AML>3kLm!A;*C{=Eo;&9ZWvM3KCZ{Ll#|DFibll_FEj3X{g^x2%A5a>ane2q8!v z#og?&P`-=4CU~zD_TTsZtC#=U!GHbZe>)zKA8R<3^MtnCjOuFDxT$$o=B%Wc2$LZO zDJ)vykQQd7aaPsWD$Zw&6Q4fz3TbG_2k@2ehD?dsSm{#V_`7Q;Gn%EAqULLpAD+Ht zp@Ul>*5x;N;`cO5wontcU+zM1`*&ZBE*!y0dA#UcH?26?XTHI>ki+X<(EJdw zzTuyFGvYz?5?*^$O-e^q)P|W0H$0_e^25&E9h43aQM0q8 zw)=czYSu#to^-VMwGY?EL+6jJr`mHo)d=1;<>cnfkOi^vXBgUEQ~OTdsq!Fm9FzCYQ5gwyvxP5`ttlZ=qP4` zt-I%*!Dc1Te9H@uYfdi}`+6_&!Bl@?pEV`hPL{qTUWA?Qw(dy9|Kb0mk2qx4RoB?a zF|43?BD!?s$3&q7Z$FK^l%f4QhY+D0rR`5|6HhF$us?+w3TmDmJ0<~AZiywCl(|*| zmwAz!GwIeNUeD%RESH8g4t<$;I5H+X&V;B$ciHuXW##I=zL;`W(Bp?(t8FoSWlru< z%#Sn(J|5tQTIgeiG4-&*UJEm1%J!!1X#aYUjcTQdy!W+ovwLv6|I-^@H-F{I&aL~y z^Dl0?8|y$Y-H+Wj^0k-ge2PYy?C%@52u}!tkPs?WBr+dgtgV?BLVo4!g;vGq2l)M4xB;EI3t|y9)xH-A{2H#Tf@8 zuEhNwxq9$&n1e3qhxKX;4e~!G8vZ#taeNu}B1I2Rc{QfZ8 zd4T$q@@+KqTe+|sjV{Qc0_aM7$;-x`Ub@o#hMcsQv35xgWOPeb9v7#)o~syYU?7-PfZr*0drtq6$a( zC{~8iST=0OjqYp)hb)YBPCd~RWdi8MWbXb*yHR*$DC?J=Wd1ATdk8Dmn@6b+9GwTR ztEF_*o#$Pu*d0kP^kqyD6Prnlv^5jmoT)=;)EAcc&po;w~_NoF} z-&8L4O@*Z7(JN9k`_{^UDihbS>jAbmOK|a=}4e; ztNYmQ3=JWXjEFTOKfBzQa1U8~G>NPNYE@@`@72KDCZXZegfQ z82E0dPX>?X;O-HUN%ZD}1IG0>UgbgARq3Ecl>}YA%^Y%)Y7w2BvohBM8 zxOvFub^3Kqaw=W-)E~9@e$?&wDc}O9x@_K+T@v}t80Yzwl56UbxH)$aRqWbw#@oA5 zsb!j~Shvl0@ynL$2T&xlN4|d5#m+5SGCl3|>{ZjvFHC6DHw2CA6u~hb&h#T5uUa~e z+)rSW0s4}`JU@PiVlytWfp}uzG4H0>$PY`PaAo zc}BV&)PQ%d$;Go>C-<9BW){S#vPO^44f+6b(;Tb4-G5-LEB*7fQ{YUmIxRG5g$XgI z7Mo&x@Whrh$DTDb-IGV};ULkZIrPCm4A?6Q`EWGVe#$y}1RSY>H}s++To>a#D46wRyGwaDpNze&d3n)V%Zw+?A9rQ~~Oci2rU z`z?OU+|J!T5ZMG63x6_kZ&O5CNpRUsd95h2m>)*N5UQ?7EqDVgs^@Hgzs;yM6rt~9 z48eTPk{-16w;!nAqziJ^ljrEag*bX(^vYHYo;W(aY1r5^wk>&8EI(Ks*LP5zSy2|F>bB{+y`{N-dIY)_34;u!8|D! z?dj@sjL(U6Ix9_v>~w{hJ8>w){&=tSHxD$he2N z5L`L)E3b2GE)oH)Flvbj9nl8G4uT!$w7~U6R5RCG8$-j7I`2>(eYjB;hPp*;BGRh!4-3>hc3l2o4$F z#L=enPHVjZv9|M@14GU!{*y|EmzSVLprYipl#u1Aom7e{vSr$6rE6AbTvZc(bWPGN%A14UPyjTHuz zmC_^Qu9EqV3c&c2?gMaO5Q#Kn#lX#2uPgH6vGu#Hha%}fUEGRQ3*3$6?R*^PNVby` z=S4<(0$cGc*6Wpm2@~x6oK?Id$YVO?WOk)z_hT1J#vc+@9c37R=^f1$U;!Qvm%%9L z`nJAVtGJXghr)VNX#GLR`35i?wK_5QXLiJNKTPLAf&%>Zpn5NT+hBGbXm#CCQm}IS zlBtL&q8o71y(Vl!3)jWawj9Whso4(XRB{Q^7o{aNn+qi600DTEQ08DXGgCvps17w% zb3t`dEI=l$^qOfz5_IFes)#*#8O6?Y7qb8a=+nW#qQL94k202OM>?oQA+Lx{k8aoY zCYJB@l<^5xYd|p9=rh)=K%wZji$c8%{$#3=0`+Xm>S1J+0eG09Hpt2X9!4&nG7KbR ze^hSccezI<%ty{mCP!s-)PHJKtrVV6Fh02Ugu8HzfeWmljzRsoLdazA0tw&>gMyMZol8i{8U12yL&S z^kceQxRVE;{_=VZ`Uw0dSlquknp|@P>aihtQrv>kjPUCK7{BF0+eX0t-Bv2Mi@xg~ zMy6^)uw!nVy;s#C)KLZrJk@?TNCBY_3@%lfV_sh$Ld`O{1d_)*EEEDXbBF8@8J#~K z65C&#_b&(I+umCZdJPyJ)eijXE3-R-cb3Ity@!M35Dh?_2E$n86rfVJ=;RKpZ+6gO zgbH9m#U%0DZ$TVlk(UdPwQG+RJ4fOHVarI%vC}j#;qgbuwTE{%m_G(j^!QoC252!L zgMhaMWwBL@ir^5#d}4TP_mq}2@~{bDJVNuZs~&`^iS`O4QxkGmioB5ypMTAy5T_*K z26%x*@fK>v7a|@TkbJ@71W=%^8F?rY4KPQ<_)b}3{qfpJH$o| zAjH{QlQgqjBf(ED&u3&yz`}vFVV#Nd@koA{w*3%tD4G26+TNW-Vnv=q{;R zhE7LvCzN?u9$1QdmT03Buu7*l!w~ zE)FAAx#&Qs3dj0^mYjrAuDoPfw%egUEXjg}%>}&$-5rLkyg|Mt<#RF!>Oe;lmq69vXmfNKJh1ieeiIJNE{C zN)9Yh>sxN403VYQPT;Z1>6*7l;b7`Z>5xZ(pFY4{QB#mC61%6#3|NZ**v*DOFaX~; z@Wz?UhvYN4OIq50n;Cf&0NxJ#)ASg-LM|fm1K^mgGge2P;0=Z}nH|^-efuFwpoe_ad&Y!OQ5t{Vcw=95vN=2|kF;7H>@&Nm!r7(5*CKK{$mfqLR}-fOm)@@3vny8t+#gQZzHy{ z*uPq612Ue3s);Dl#ky^**sp2qG9d}#Ge{Sg0N8cm^aUGnJcOr4O-CV88=am$-`}Mv zh$<+PLHR3Em*>T>s;HCm{gir62DIt)gMw$VK;=i6GWyyCNz=q}l_VSu%PNG-2g_8x zqn_~onun)8W~W0}xL#0UhDQPGr3IcKP{9vVpwh6YuE2CLoh?CdL zQHyro(2h3Igl#F#!A2%cc!+j0D}NUkm@q|K6;61ZC>YE2LVXB7T3T8ijx#C;v}6?Das4pER8p)~1W`%SYVCA>kx(97Y}PNkKV` zsvSn#-%Tf-2cn!8GZ|||Rcwpt?2vG}IHjv-P2kI#SqhC=EcRqYjW~pphQVW3pk-Iq zqOnQDz;24rm1F#4h!dJI)I*V4z{A;K_o6ZOmI&Lx3YEos?M^9_z|X%r>kX4|4Gpap z0zinjkGjox!O+2{mqibvyLOPrNU{J?$?L_9^6-pVF>2n)l#U&^^0R6|-C=+g6^Hn{ z#K3nZJ}QzYf!=;xOGF%2MANVBV_X(RG7^Hg{P)iS0K7YK7XyOTi)z~*=fc*cu8EWH z@WY%tqTIOwXWR_;(Ct7CcFo*3&1ul4yD`Tqgu(pk^$^mp0-@Q@WYMwRMbvN{x%0{h zERdn_NvT{2k6jf~hY!cc+%f>`VX8EZ`>}Lz^TiYEV(BK7RSYv#RRy^2E*c^|M;dY; zGe}>O#isBXZ;@*alc2mCPv#AQx(o?=6LAopSRVYd&_!U`(Oy(TL7FYainl$#kOTVcM{HB$G~w9gb_O;AIZ;zfD|LTd;`pA z)4dqC3U)wBsw&8{8UeyVo@Bl716u(+^AaUIi&0z}a5y90A`mP;_IGZJN&9B=l8IW0 z+krp0$;)1piJr<=XLcD&Ce4KTciSQ8-(v|xVP;=)|5AUVQTyEH6*^t0oF4feSoM3n z63?=*PaD~(^W*6A{%yLQNvbKH+ISF-8ZUrFS^-h5$b~~Wh|vN(^`-)qu8d9?mw`n5 z0Q&#&Da&}dew!Lb5ev`bLAFIT{TjQttcxLBJXi7v7~i9heC6BQCKOM~!9%<#D`plZ z94-_r4!>EtN&E97mENnGr~wa|`0zwvJRXF>*RS>tu>*r>st|zfIZRkH`J43N_0+|6jM1J%+rLXIW_FE&;9ax&+U>w{ zvRb#?`Ezg1?6hKsXH%#LhBV>yoGJwvdkBCUv=ZbV419(B34v<)pK+1}@B(Y!8~5yO zhn=D@eqb2jot{y^ytsO6H7j`Lo$g>b!ClS-O}AulH*Q53d$+VrpwlD6M@7z%uvQze>4BXFF z;#W>75`u|Zq3B`zrBx0a_$74BEc2kpM_#hxwgdS!V#Lu?7^Lzl+;B;tJ)7Gm^OSvf zsrM%@S8Q+6b!}Pe;!fGW)!=6V#?PYrc2b~%oPyo-pbD)yo!~ckWA}SG_7K{XRQCvh zJOLcl{$7m$X?pqE1@aw1Sktst^(u%&Rx+A?7Y)e2ETuIM(e<9vtSe3cJ9i_x3vMwT#9V7XW6YJ8`FLeOFW}RQ zx|5=Z(wz-5I_zfnraiIYr*ajQC0#Bme)=u<{$8ZKNycac0O1Cs6PQL8MQmfyo8XBw zZ_4J$E5iJwxQA?401KDzA2&`WXmwKzWWtz{a z>&(z3{vTss10zp$2s>$cQUpGJ4u@Y&$a#JcEd7UNVp^OlwsmsPZlYpT!|S|LfXRr4 z`yIrq#Ssi}?_i||kdpxSCqZ7BgE;wxmEtvZTdnWF3<8`I>Y@jTcVtnxanfpJ7hCA^ zJMc&L&vJ9MKu?>`*LLbfNs6%2L&!E(9k=%c({EepC^Z^fv*(ea3Nk_?r~Ni)id2rv+FG8y{Pfz9qvI~XX;fAHD^1b|?~QNPb@ zgS$7n6YvL7F=s-RP5vpp%7o?rEwX9_SRFnZw&v~Kt-J5Gm+62e6O>+!(%`WRLP%=} z&Fr@*mlFeYgLGP#=CYh?+|x?9_cqdmGG(YtKs0DzFU)sL8RGOCfaNzBKPS{FmZk>k z3sI{H4-5?)$ci6^ELU97UH+3sPh{6do9tJ?LJy*cio>*m(zW`=eOmsjm~-5!nH|Jo z2dxw+=lzWhJgzh242!q~Nc2p1Zqq;a_A5}aEDxu8z7Y|XjPFo8Zk%HOMtJ>j9 z9TwXOD8pM80J4iC-YYN~KTj7^eCd~?jZHPWTlsk2@;U2H+JchvMJ;(IE&hiH&#&IF zL(U=?0w2(?T5pi?O9#zY`Z~EsU^I9l@wmSl1jahgThc2&XnIm4-+N{MX#$33m`t@2$aJU0BmAt9I`)unaBuLWP8lGmrG zrL1p6*ij_+k{&nroY~t;%k^B3uHNjNwp+e^K#w%E9)|0g&k@ck01-;QptW!IL5sFi zH#&AZe_QNDcM#`SKP$3p!PiYkQkq>R^A_@s@f-q0^rN?JlV;}e)79VRW7~$NPRzH_ zg?Wdb6COXXBS~7gbw5?%H<-$G)XBD=EEicO6LdIH%5_q_@x;m&VWQyYpJ?d#yvDjEWi)?gmstOU zGPomt5Ll+GZ$M zETaoetr(ZBBoiBMSVR!w9GBnf8=OCc$I{0hX)d;cHz z-^SZ)bLM?re&wz}rH{_4EN~YgBwNm+BKeG3W34E_(2oQZYudGSwMX@m( zvhP@jB(9U`kKIAjiBV&a-TOlQavdJ<#lWGC1&vb^IMra z%d^&_?&7Zn5rpBvDznU{)o>$LwZ^nbT97R=5@=D@j}Vt1&A=N@v~0QFU;*N2VPe;q z8yA-|L$=2oEF7>mt+p9eXT%&$)nMY(b+x%um#eQPi9r%V-b&fd&>_sPK@tE0&k+o5^(!5jU8upP!R zyF`4rQmrARnOMW~+swm{YoX^5y(GEf`wd1|Mp@w7CZQ`o*(Na~8L5cd3_t8398 z5OxoX&4p?%Dt2i!{A!+F4)CMQ|2hfVDWsll6l><%OD_7+3rP2B@-zS*;&T!<*4qxtn?9sWBL)^0VV!v?LQ`gd3H`Ula=($^T!Y0f z@`=HvIa%SX1E&S^dh>?%922j|y<6M*BDtoKSZ#ho89<0~x|fhr(}|Kp3Li-s4=wDCC#pKfGr%pf+54#lrBi z)X)|6qFHgIr`6NI4o{~Ng_obqHFi1%e{bMl_J=;pwCMq`(JdRmex3;1s%2{&Hvj%I zr2a=w(bPh&dtsk4YIaZ7w$wX6Z>2YGjBt^cp+@XAEoQ^15%h*-jRGuNAO<@rzTH8m;C4jNL&8YcjF(bxLa|(Y(?AA#3ob zZ*JT7GD4op9*S&bQF=W0iI09|wFtP>p6uEACsxm@z=CFF8gSU0h7h_(%;2NjuHt;>oY;d)hzsc)#^&uq~|X<78EO_2U(QL|o6k9zTP^wBl3;G~Q?kmS2&T zS~S%Sk=@kTmHY ztS&1twt>Tp?NV)MNbTR%m~=>{l9(OlsAz z!(gDRMN_6+;l&E=lQ|154=)D&Q0G4a3s3gyv+6WF(kcDf=!T$)2@lq_e(`9%ZA7~A z$<^+E;sTyyKklaa;SNnbG#1ivCG4#)Q@Xzp<40Fs8QWJ z9R|bZ*=i;2P);@=ud85w#6S)I!8G|jRMpUUj-mBb-JqI;hQ1j%-_P7)Oc3&`_EN@w zES&nW*s8Y$%FdYfxT}6?*@YTbCC)09Q)asRXT$l~BfaOMb2c1h*S=gvwUX_@dj=)y z#CdFOL>V@{5Nl>2lJw76_aVfqc_mhle#3V8>+I-LYVfYNy<$2}kLOwjCG$l^_D^sB zK>91M?YD1K)w~s#Lc&^9#zE1|&nWonbX9&75Xe*xrn(wDvXz>B-ak3*NHpZcJ$sj> z)+RAjRm@S}>>S|SM}y!t+4#hKO;nNQ3|M4ZqXK0I*CFfvIw@Sb*Qn zj1OldIKf$U>Ai2*_`<=50!NPXgB_I`F#=aloOaO^w$3|$g_aqbfPp{( z2njSK&r%b9^PbAwx>TE_y!=HQDI{)HbG?VkF83k%-(&L%aP|epC`#$8Lj8F=Heh zvp_=zgivScGIIZw;4m0^HEx*W*(yVaAVizAAr@ix#9qz*?@Mo4T<=b8>b!2T{7*+k zA~g^@y~+J=Q$_;L)_6~6hYOa6>aX#A2ii{TRS_#QA;@vY|Fl%V!qvhjwyG$(^wkKc;vq=6}sb>RasURW8yFUx(^-g`pO0Em5oBPKK~ArOgeJ`8s&cB z+nx&=Q|bVD`n|T;dP|N95zyGdoP-f7iZ^NhW!>n&x;eZHNI{P=boY2jUq1(>cQ7UL(0GUlsTKS_Xn#i?+;=Vm4eIc8FLrwX=6uz={F`ZZI zIs@^VhCh*%kAaTf>VF3e=+CMvYck|w}Eb&qf z&=bWU!ca1JTJTbVP^XNs)<4d2k-2NLqkUt5+Fs&XI4;VJV|e$46`ofrhVc4&A@Ork z!r^@@Q(+x=*1yL$Ukj6}7J@QG<&^|=TZ07DQ}+8N;)HO7dRVwY@2l>Uze3dbIR2Y)19v zLv#B!^$&U+TXrA>XH>Reh^qTn`Y`ySO!47TQt{vJ)Stqg$+UwkO%^9j{!dHF1{_@OZ;l2%P^>H>7|4>LBClkW=l?-+e z*#OG3eG=ZE79d`#7TC4-;JvU9uKQ~TC?K`m$`sz8Q(z&LAPLytT-tvVJhldZT1%%O z0GWM22R)#K(qL1@e+Xgt4}yv)s9^px3Iy66!CsO)6X-$t=P}sMhMe{f$^2o$8l?J_ z)92*>j&lP1dE%iS{0|ey;y?|tPo)@i{_T&GbO)rWG_rbsnQ#W>kG3qjuYbp>1X)O> sy(sDr6ND2$I%_fkv?cxj3%iRA`xN=($-!fW5csF3WvuyJ-Tv190Xf(+82|tP literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..cb20d3f --- /dev/null +++ b/manifest.json @@ -0,0 +1,29 @@ +{ + "manifest_version": 2, + "name": "LifeScrobbler", + "version": "1.4", + "description": "Scrobble visited pages to life.lab.unbl.ink after a delay, skipping blacklisted or paused tabs.", + "permissions": [ + "tabs", + "storage", + "webNavigation", + "https://life.lab.unbl.ink/*" + ], + "background": { + "scripts": ["background.js"] + }, + "browser_action": { + "default_icon": { + "48": "icons/stop.png" + }, + "default_title": "LifeScrobbler" + }, + "options_ui": { + "page": "options.html", + "open_in_tab": true + }, + "icons": { + "48": "icons/check.png", + "96": "icons/check.png" + } +} diff --git a/options.html b/options.html new file mode 100644 index 0000000..af3d204 --- /dev/null +++ b/options.html @@ -0,0 +1,18 @@ + + + + + Life Scrobbler Options + + +

Life Scrobbler Settings

+ +

+
+ +

+ +

+ + + diff --git a/options.js b/options.js new file mode 100644 index 0000000..446a6ac --- /dev/null +++ b/options.js @@ -0,0 +1,30 @@ +document.addEventListener("DOMContentLoaded", restore); +document.getElementById("save").addEventListener("click", save); + +const DEFAULT_SETTINGS = { + delay: 10, + blacklist: ["*.unbl.ink", "moz-extension://"], + paused: false, +}; + +function restore() { + browser.storage.local.get(DEFAULT_SETTINGS, (items) => { + document.getElementById("delay").value = items.delay; + document.getElementById("blacklist").value = items.blacklist.join("\n"); + }); +} + +function save() { + const delay = parseInt(document.getElementById("delay").value, 10); + const blacklist = document + .getElementById("blacklist") + .value.split("\n") + .map((x) => x.trim()) + .filter(Boolean); + + browser.storage.local.set({ delay, blacklist }, () => { + const status = document.getElementById("status"); + status.textContent = "Settings saved."; + setTimeout(() => (status.textContent = ""), 1500); + }); +}