From 8a2e4d42b982457653810cbd9f8dfe2b89b20751 Mon Sep 17 00:00:00 2001
From: Codeberg CI ONh<8hAAe~c@IFy>j2skoTqFTSN0?|
zOfrfsfWt+Tx3E`p#kVB`Q9|nlQ7&c`8;@u+#H!?O=+Mw9vZdd*&P%+*R50iww~OMy
z+n}Vy59q~qiOuQC 9)IGb-*?;fY~LL|w1MYV
z)Ay_XtkOq(%C~#I`KwXG7miLoB_e=-M}VNTe8uo`bM*lP&z9?I-p_WsS7#&>r`@)G
z*y7o4i_SmP^}j8ztA1bo=GT=m|NffNg8yFLj!#`~HxIjRdv|-Yo$=E`|FXHO_(86_
z9Y5AJTURd`cCT+ Hi, fedizens! Long time no see. @lostinlight here 👋, with a small announcement and a big question for everyone who’s still reading this blog or RSS feed (is anyone out there? :) Once upon a time Fediverse.Party tried to keep up with everything going on in Fedi. We posted about latest software releases and developments on the Chronicles page, via RSS and Friendica account. But no new posts have appeared for a long time. It’s because there’re three great sources of Fediverse news now: fediversereport.com, wedistribute.org, and @weekinfediverse. They cover all the stories happening in our federated universe. Following them is the best way to stay well-informed! What shall happen to Chronicles page of this website then? Removing it would not be right; yearly Fediverse recaps and Birthday posts should remain at least for the sake of history. Now that we have a Boosty page, I think it’ll be useful to post about website updates on a somewhat regular basis. Like release notes, but for a website. I hope it’ll help readers find out about new ActivityPub tools and Fediverse-related projects (even though some of the projects added to Software and Developer tools pages are not new, it just took a long time to find them). So, here goes the summary of October site updates. There’s a new filter by license on Software page. And Lemmy was added to the frontpage. Now comes the big question for all the readers of this blog and users of Fediparty website. We’ve been with you for more than 5 years, but never asked you how you’re using this site. What are the pages you visit most often? What pages or features you find most useful? Which ones you find poorly designed? Any ideas, suggestions, complaints, feedback you have, please, share with us! Here’s a special Codeberg issue for it. Or you can write your suggestions as an answer to this Mastodon post. Thanks in advance! 💜 Can you believe it’s been five years already? Five years of helping novices gettheir bearings in the varied landscape that is Fediverse. Five years of guiding people towards smaller, niche instances to strengthen the federation. Five years of keeping up to date with all the diverse projects, big and small, that comprise our network. This was achieved in large part due to all your pull requests with corrections and updates. Thanks to all the contributors! By the way, since moving to Codeberg, our repository is getting almost twice more pull requests than it used to get on GitLab. ;) Here’s to five more years! 🎉 There were three sets of questions, each having different number of answers. Furthermore, each attempt at the quiz presented you with new questions. To achieve that, we had three difficulty levels (easy, medium, hard), and we picked four questions from each. Shuffling them, we got a unique quiz every time. We hope it was fun :) Now let’s get to the answers. Which one is a video hosting platform? PeerTube. Which one is an image sharing platform? Pixelfed. Which one is a music sharing platform? Funkwhale. Which one is a platform for events and meetups? Mobilizon (although we shouldn’t forget Gancio either). Which project has a small Arctic rodent as a mascot? Lemmy. We spent so-o-o much time trying to describe mascots in a way that is not a dead give-away. Which project has a large marine mammal as a mascot? Funkwhale. In fact, it has 3 whale mascots - blue Betty, green Harriet and pink Wanda! All drawm by a community member Robin. Which project has a marine mollusk as a mascot? PeerTube. The cuttlefish named Papa Sepia was created by David Revoy. Whose mascot looks like a cute bear and feeds on bamboo? Pixelfed. You can find the original assets of red panda Fred here. Which project has a small swift mammal with elongated ears as a mascot? Friendica. The community named the mascot Flaxy O’Hare, it was drawn by lostinlight. Whose mascot animal is native to Australia and feeds on eucalyptus? Hubzilla. Its mascot is red koala. The initial creator of Hubzilla lives in Australia. Which project has a small nocturnal fox as a mascot? Mobilizon. Rose the fennec was designed by David Revoy. Which project has a flowering plant as a mascot? diaspora*. The word “diaspora” refers to the dispersal of seeds (or people) over a wide area and the asterisk in the name represents a fluffy dandelion seed. Which project does not directly contribute to Fediverse’s development? Twitter BlueSky. Which project directly contributes to Fediverse’s development and success? Glitch-Soc – a popular fork of Mastodon with extra features. Who was among the editors of ActivityPub specification? Christine Lemmer-Webber, but don’t forget the other editors too: Jessica Tallon, Erin Shepherd, Amy Guy, and Evan Prodromou. Writing standards is hard; these folks deserve a medal! Which project was named after a music band? Mastodon.🤘 Actually, depending on the sources, the project may or may not be named after the band, but Eugen Rochko, the creator of Mastodon network, is definitely a fan of the band. By the way, one other Fedi project has musical roots too: Lemmy is the name of a lead singer of Motörhead. Which project first allowed users to add cat ears to their avatars? Misskey. Several people told us that some Pleroma servers used to have this feature even before Misskey, but as we couldn’t find it in Pleroma’s code repository, the answer is still technically correct. What protocol is most widely adopted in Fediverse? ActivityPub. How many user accounts are there in Fediverse? 2-7 million. In related news, the-federation.info is under development again. Give a helping hand if you are into frontend webdev and/or Python! Who published the identi.ca post that marks the beginning of Fediverse? Evan Prodromou. Which one is not a fork of Mastodon? Pleroma. This may seem an idiotic question, but over the years we’ve seen many newcomers whose acquaintance with Fediverse starts and ends with Mastodon. They come across popular Mastodon forks and assume that all Fedi microblogging platforms are some variant of modified Mastodon. This question was a reminder that Pleroma, like many other microblogging projects, has a different, independent codebase and history. Which one started as a fork of Pleroma? In our quiz, the correct answer is Mobilizon, but it was pointed out to us that it wasn’t a full-blown fork — Mobilizon just borrowed some of the code. We couldn’t come up with a better phrasing for the question though, so it is what it is. What is the unofficial Fediverse mascot suggested by community members? Phoenix - the symbol of rebirth, renewal, progress and eternity. A legendary bird that rises from the ashes, just like federated networks fall in popularity and rise again, better and stronger. Hopefully you noticed that the birds at the end of the quiz are phoenixes too! Which one of these supports Gopher protocol? Pleroma. What’s the name of a popular Android app for Funkwhale? Otter. What’s the name of a multi-platform client for Lemmy? Lemmur. Which two projects are developed by Framasoft? Mobilizon and PeerTube. Which Linux distribution donated €10k in 2020 to fund live-streaming in PeerTube? Debian. Which project wasn’t funded by a grant from NGI Zero (NLNet Foundation)? WriteFreely. That’s right, NLNet funded the other five, and we could list even more! Working on infrastructure software isn’t very glamorous, so grants from NGI Zero really help move things forward. Which project received a $70k grant from Samsung NEXT in 2019? Mastodon. In what city did the ActivityPub community conference happen in 2019? Prague. Which project is not written in Go? Lemmy 🦀 Which project is written in Python? Bookwyrm 🐍 Which project is written in Elixir? Mobilizon 💧 When was ActivityPub standardized? 2018. Can you believe it’s been four years already? How was identi.ca software called at first? Laconica. Initially, GNU Social was a set of plugins for… StatusNet. What was the original name of the project now known as Hubzilla? Redmatrix. What was the original name of the project now known as Friendica? Mistpark. And there you have it — all the answers to all the questions in the quiz! We hope this was both fun and educational. See you in Fediverse! Fediverse grew quite a bit over the last year. To all the new users - welcome! And to all the fedizens who’ve been with us for all these years - thank you! To add a bit of playfulness to this day, we prepared a 🌟fun little quiz🌟 for you. The source code will be revealed in a few days; we don’t want to make it too easy to figure out the answers. :) Please share your scores, and add #FediQuiz, #Fediverse14 or #HappyFedi2U hashtags for visibility. Cheers,Fediverse.party teamw0_1}bHJ!X@W5RSxt{pxERz-xP<;K~sq1^IGQ-;0lFw!m6JF)CvKXwd
z_ypX_VKWjv_Zp1hlC3m{gnzI!%Z(*}*x&%A1EAfLlfvub(NmfOUyn5hk;Tx8#X%_k
zfDF6-@WQP}PDGGgn5VYP72+HowsYUPNAU}%$wTUCx5jXm5Jlm~Ba-5<)j(ETM3S_R
z$J83t0B~S1I(P2(%=ALgFJnY4dP9JQG7VpT2gCd|U1jgE=GuGkyMK}rpDT>k;30GH
zPXm=u6I`37zY@vH656x4pkst@=x~kE8mRsi6+HFFo?Hg{rMa9-sfDBo*T!nX&>L;<
z2aDmfjvoG7)AI`qn@J}A7bFwjiK_0F?&Z?Ig$Y;U1ChqmSf})9J1-=vi-xFc?l5II
zsIK;nz5{lWg7!7qz40BCsz|=+z~61EVMAYz*6@!oQkhwx=ixOvs67K*nrXGk`cmy(
zSZ^KrGMu2vIj=t4^b-8ZmEa05^0x@p?^|{c_hlV{g^3YG?
uP+2O<~?1qFerGI
zG1;&695i2P4a%RsbZLC(CwW4c5nS4F#toebMx+{p;cN^p`CJl!O3()h1+#>Mo2Mhf
zCIs`?LI1?ROvvdeZ^B)Jip$CrkOUvG|BsEyJ
Projects added to Software:
Projects added to Developer tools:
Other improvements
UX research
Easy questions
Somewhat difficult questions
Hard questions
Feneas association, that has kindly hosted this website and its repository, is being dissolved. Thank you to all Feneas members for having us (and hope to still meet you all in decentralized Web)!
Our code repository moved to Codeberg forge. The automated migration from GitLab to Codeberg works like a charm! We’re excited and honoured to be part of Codeberg community.
ActivityPub Apps and Tools lists are now part of #delightful lists curated by @humanetech (updates appear on the website, as always).
Please, update your bookmarks.
The website is now hosted by @minoru. And we also have a mirror, just in case.
]]> + + + + +At the end of each year we traditionally compile a digest of what’s happened in Fediverse (beginning with 2019 and 2020).
So, buckle your seatbelts and lets travel back in time. Let us watch the progress of glorious Fediverse in the past year.
Credits: image from Pixabay
In 2021 Fediverse expanded from 5.027 to 7.744 known servers. That’s about +2.700 nodes! An impressive growth, compared to previous couple of years that showed a stable trend of 900-1.000 new servers a year.
In June fediverse.party started counting Plume, Lemmy and Mobilizon in yearly statistics. They account for only 222 servers though, so the rest of the statistics spike definitely indicates that Fediverse is growing! By the way, we launched our own Fediverse crawler in November, to make sure that these numbers are as accurate as possible.
Credits: pie chart by Minoru
The ammount of registered accounts went back up to 2019 levels and by the end of 2021 slightly surpassed that benchmark, reaching ~4.500.000.
We, fedizens, know that numbers aren’t the most important thing in the world. But grown-ups like numbers.
Credits: image by Devran Topallar, Pixabay license
So let’s mention that, despite smaller userbase, Fediverse is showing its true potential for free open source projects: those developers who officially join our corner of the Internet enjoy higher follower numbers than on centralized social networks. \O/
Seven networks growing most rapidly in online servers in 2021 were:
• Misskey 🎉 ~ quadrupled server numbers (+220)
• PeerTube 🎉 ~ tripled server numbers (+760)
• Funkwhale 🎉 ~ tripled server numbers (+83)
• Pleroma 🎉 ~ doubled server numbers (+483)
• WriteFreely 🎉 ~ doubled server numbers (+180)
• Pixelfed 🎉 ~ doubled server numbers (+106)
• Mastodon 🎉 ~ +28% (+792)
Note: these numbers are an approximation based on statistics voluntarily provided by server administrators. Servers go offline / online every hour, every day, so the numbers reflect only part of Fediverse at the time this article was published.
At least 13 new projects joined Fediverse in 2021!
🌟 GoToSocial – social network server written in Golang
🌟 Owncast – self-hosted live streaming platform
🌟 Castopod – open-source platform made for podcasters who want to engage and interact with their audience
🌟 Inventaire – platform for cataloguing and sharing physical books from personal collections and independent libraries
🌟 GoBlog – simple blogging system written in Go
🌟 bopwiki – simple “microwiki” implementation, fairly similar to the Zettelkasten system
🌟 Wolfgame – a game akin to Mafia; once started, it simulates a day/night cycle and allows players to vote on who might be a werewolf during the day
🌟 Dharma – federated community-building platform for Eve Online corporations
🌟 lectrn – social network for humans that is free, decentralized, open, and easy to use
🌟 Catcast-D – federated video live streaming platform
🌟 FChannel – libre, self-hostable imageboard platform that utilizes ActivityPub
🌟 MatticNote – ActivityPub compatible social network that aims to be easy for everyone to use
🌟 hvxahv – multifunctional decentralized social network implementation
→ For the full list of Fediverse projects in development see Miscellaneous page.
🥄 Ecko – fork of Mastodon to optimize toward community, that is making it as easy as possible to contribute
🥄 Acropolis – fork of diaspora that’s making it as easy as possible to contribute
💎 Group Actor – groups work with any software that implements Mastodon client API; has moderation, admin announcements
In July Inexcode relaunched fediverse.space - a beautiful project that has previously been developed by Tao Bojlén and that got a second life thanks to its codebase being open source! In November Minoru open sourced Fediverse nodes list to help public statistics hubs and to empower new ecosystem developments! And by the end of the year, Fediverse Wiki project was launched.
Credits: background image by Alex Antropov, Pixabay license
Let’s make even more useful, quality projects around Fedi! And, please, may they not rely on avoidable 3rd-party dependencies, like Google Fonts, Cloudflare and other centralized trackers.
More and more official institutions are moving towards FOSS and Fediverse:
• In 2021 Noyb.eu officially established its presence (for the second time:);
• Museums explore federated networks: Beeld en Geluid, the Netherlands Sound & Vision museum installed their own PeerTube server; European Institute for Contemporary Art and Science opened a Mastodon account;
• New accounts of German politicians keep popping up;
• Universities are joining federated networks too.
There have also been ideas to set up an official Fediverse foundation, a legal entity to provide extra opportunities for contributors who want to work on improving Fediverse. Arnold Schrijver has been working on fedi.foundation. Would you like to be part of this initiative? Join the discussion!
✔ January 7:
PeerTube version 3 is out, complete with live streaming feature and a behind-the-scenes 💡 short film
✔ January 17:
Lemmur, a mobile client for Lemmy, has its first release
✔ February:
Pleroma surpasses the 1.000 servers milestone
✔ March 10:
a wave of new users migrates into the Russian constellation of Fediverse
✔ April:
NGI Zero organize a series of webinars and workshops called “ActivityPub for Administrations”
✔ April 2:
Castopod, a platform for podcasters, joins Fediverse
✔ April 18:
diaspora* releases a new minor version. Jonne Haß , one of the core team members, continues work on a new native app for Android and iOS – you can already help with translations and beta test it (the app will work for pods running the develop branch v0.7.99.0 where the API is available)
✔ May:
Fediverse holds its very own Fedivision song contest
✔ May 17:
Tusky, a popular Fediverse mobile app, is temporarily removed from Google Play Store, because Google doesn’t understand decentralization. Users who’d downloaded it on FDroid weren’t affected. Google had already threatened to remove Fediverse apps in 2020, so this is becoming a nice yearly tradition.
✔ May 18:
Fediverse 🐣 celebrates its 13 birthday
✔ May 26:
Smithereen, a project offering the look and features similar to Vkontakte, makes its first beta release
✔ June:
Owncast is awarded a grant by the NLnet Foundation to support work around federation and ActivityPub
✔ June:
PeerTube surpasses the 1.000 servers milestone and becomes second most popular ActivityPub project by node count (after Mastodon)
✔ July 5:
WriteFreely, a blogging Fediverse platform, shares an up-to-date roadmap for the next 6 months
✔ July 18:
GNU Social maintainers release a long-awaited version 2.0 with ActivityPub support, and later publish some updates and plans for version 3
✔ August 4:
Bookwyrm, a social reading and reviewing platform, gets an official website
✔ August 8:
Pleroma 2.4.0 is released, featuring many fixes, additions and improvements
✔ August 13:
Mastodon is registered as a non-profit organization
✔ September:
Fedi stats hub Poduptime gets re-branded and becomes Fediverse.observer
✔ September 1:
first Owncast tests of federation over ActivityPub
✔ September:
Facebook is caught following Twitter’s practice and flagging posts with links to certain Fediverse related websites
✔ September 8:
Pixelfed’s latest stable release adds media licenses, federated stories and improved mod and admin tools
✔ September 25:
Friendica “Siberian Iris” is out, with scheduled postings, better notification system and admin panel improvements
✔ September 28:
Gitea, a community-maintained Git project, adds NodeInfo support, getting one step closer to ActivityPub federation between code forges
✔ September 28:
Funkwhale’s official Android app becomes available on FDroid.
✔ November:
Mastodon fork Truth.Social, associated with the former president of the United States, Donald J. Trump, is open sourced after pressure from the maintainers of Mastodon
✔ November 9:
Hubzilla introduces version 6.4 that improves file upload performance and all-in-one channel cloning via network
✔ November 13:
GoToSocial project makes its first beta release
✔ November 13:
Lemmur (Lemmy client) receives funding from NGIZero NLnet foundation
✔ November 14:
Lemmy starts federating with several other Fedi projects
✔ November 21:
diaspora* core team reveales its short-term plans for the future
✔ November 22:
FedeProxy, a project that will allow code forges to interoperate, gets rebranded to ForgeFriends. Earlier in the year developers behind the project got a grant from NGI DAPSI
✔ November 23:
Mobilizon releases version 2 with many tweaks and improvements
✔ November 30:
PeerTube version 4 is out, bringing advanced filter features that improve moderation and administration
✔ December 6:
Bonfire team who are working on customizable ActivityPub software share their new beautiful website communicating the vision and the motivations behind the project
✔ December 7:
Inventaire becomes part of Fediverse
✔ December 26:
Bonfire is awarded a grant from the Culture of Solidarity Fund to support cross-border cultural initiatives of solidarity in times of uncertainty and “infodemic”
Is any important 2021 event missing? Feel free to suggest it in issues or send a suggestion in a direct message.
Feneas, the organization hosting this website and its repository, may soon shut down. This is sad news. Huge thanks to all the Feneas team, and personally to Jason Robinson and Lukas Matt, for your work, for always being patient and helpful. Good luck in all your future endeavours!
Fediverse.party is in search of a new home. It would be nice to move to another GitLab instance. But, as stability and reliability are more important than certain software, we’ll most likely migrate to Codeberg. Let’s wait and see how it works out.
Move slow and build things to last! Here’s to another great year. 🎉
Fediverse is mostly run by volunteers who spend their own money to keep the network going. If you enjoy being on Fediverse, please, consider sponsoring your own local server or donating to Fedi project you most often use.
]]>Last year Fediverse celebrated May 18th as an important, symbolic milestone to remember how it all began. Let’s make this a tradition and a day for friendly interactions, to boost the spirit of unity and vibrant culture!
Newcomers are usually advised to create an “introductions” post, telling a few words about themselves, allowing Fedi community to welcome them. Why not have #reintroductions as well, to help both newcomers and oldHeres get to know each other? Please, make a post in Fedi with this hashtag; you can also use festive hashtags of the day - #Fediverse13 and #HappyFedi2U.
Note: If you speak Catalan or Spanish, join the online meeting of fedizens dedicated to this special day (from 19h30 to 21h30 UTC+2).
Credits: promo image - by @titi, CC BY-SA
If you have accounts on mainstream social networks, we suggest to turn this day into a chaotic celebration of sci-fi and fantasy films, books and memes! Find images from the films you like, add any text or quote to it and share! There’s only one catch - it should include the word “Fediverse” somewhere. Again, we suggest adding the tag #Fediverse13 in the text of your post, so that other users on those platforms can find and reshare your posts. But if you think these tags may become the reason of shadow bans (which might happen on networks that have an allergy to competition), never mind. The mysterious word “Fediverse” on your images should be enough to tickle the curiosity of your readers, and it’s harder to shadow ban for text-on-image. If the plan works, people will go searching for this magic word, find our federating corner of the Internet and, hopefully, join to stay!
PS. In case you resolutely prefer genres other than fantasy / sci-fi - the more the better, let it be any you like!PPS. If our community manages to come up with nice and creative images, we may feature some of them on our Crystal Ball page, linking back to Fedi accounts of respective image authors. Of course, we shall search you out first and ask for a permission.
Credits: examples created by @humanetech
As more people discover federated networks, organizations slowly begin to acknowledge the existence of our alternative communication channels too and cautiously come to Fediverse to test the waters. Even the European Commission is interested and requested a 3-part ActivityPub for Administrations event. Its goals were to raise the awareness about various Fediverse projects and encourage representatives to create their own accounts or servers, thus establishing a presence in the federating social web.
For all of us this means opportunity. A true reimagination of social networking, creating spaces where people are united in diversity. A place free of Big Tech dominance, where beautiful culture thrives. It’s hard to give up old ways and try out something new, especially after investing so much time into traditional social media. Each platform a separate channel to maintain. On the Fediverse, no more of that! Imagine, if you could post only to Instagram, and people on Facebook, Twitter an other networks could see your posts. Integrated, and reachable from 1 account to interact with. We can do that in Fediverse where various networks are interconnected!
If you are an organization with an official Fedi account and you also have a presence on big corporate platforms, please, help spread the word about federated networks far and wide! Remind your readers on mainstream media that you can also be followed in Fediverse. Tell the visitors of walled gardens that there are open gardens, wild and blooming, awaiting new waves of pioneers! If you wish to be part of Fedi campaign, please, use hashtags #Fediverse13 or #FediOpenGarden
“Down with giants, up with open, self-governed communities!”Credits: Fediverse mascot characters - by their respective creators; illustration by @lostinlight, CC-BY, source
You can find some promotional materials in these folders. Use them freely and don’t forget to contribute any new materials you create.
🌟 See you in Fedi!
]]>One more year in Fediverse passed. Let’s have a look at what we have achieved in 2020.
The number of servers grew from 5.027 last year to ~5.900 by the end of 2020. That’s about 900 new instances.
The number of registered users, on the other hand, has decreased and by the end of the year remains slightly above 4.000.000. This may be due to the fact that several large servers went down during the year, and because some administrators periodically remove long inactive accounts to free up space for newcomers.
Whatever the reason, we may rejoice that more small instances keep appearing. That’s what Fediverse is supposed to be doing – decentralizing!
Seven networks growing most rapidly in online server numbers in 2020 were:
• PeerTube 🎉 +320 servers
• Mastodon 🎉 +237 servers
• Pleroma 🎉 +224 servers
• WriteFreely 🎉 +74 servers
• Misskey 🎉 +58 servers
• Mobilizon 🎉 +45 servers
• Pixelfed 🎉 +40 servers
Note: these numbers are an approximation based on statistics voluntarily provided by server administrators. Servers go offline / online every hour, every day, so the numbers reflect only part of Fediverse at the time this article was published.
Credits: picture is based on an image from Pixabay.com
At least 16 new projects joined Fediverse in 2020!
🌟 Bonfire – a plug & play federated social network based on CommonsPub
🌟 Bookwyrm – social reading and reviewing, a federated alternative to GoodReads
🌟 The Occasion Octopus – a federated network of Open Data for discovering interesting events
🌟 OLKi – linguistic corpora exchange platform, a simple gateway to Fediverse for scientific interaction
🌟 Immers Space – a virtual reality metaverse platform powered by Mozilla Hubs and ActivityPub-Express
🌟 Lotide – a federated forum / link aggregator
🌟 Tavern – a minimalistic ActivityPub server
🌟 Learn Awesome – a review aggregation site generalized to all learning resources organized by topics, formats and difficulty
🌟 OpenEngiadina – a knowledge base and a social network using ActivityPub and the Semantic Web
🌟 Gathio – self-destructing, shareable, no-registration event pages
🌟 SemApps – a collaborative, generic knowledge management system for easing data storage and filtering
🌟 FlockingBird – network for professionals, a LinkedIn alternative
🌟 SkoHub – a publication / subscription infrastructure for Open Educational Resources; allows to follow specific subjects and be notified when new content is published
🌟 Reedlebee – a viable Goodreads alternative; book reading progress, lists, reviews, comments, and more
🌟 LubarGW2 – federating guild website using GuildWars2 API
🌟 XWiki Extension – an implementation of the ActivityPub for XWiki
→ For a full list of Fediverse projects in development see Miscellaneous page.
• SepiaSearch – search engine for PeerTube
✔ January 6:
Smithereen open sources its codebase
✔ January 23:
ForgeFed gets funded by NGI Zero Discovery Fund established by NLnet with financial support from the European Comission’s Next Generation Internet program
✔ January 30:
Funkwhale receives funding from NGI Zero (NLnet)
✔ February:
Simon Urli announces plans to add ActivityPub to XWiki, an open-source Wiki platform; receives funding from NGI Zero (NLNet)
✔ March:
Pleroma introduces federated emoji reactions in its 2.0 release
✔ March:
Friendica adds custom profile fields, support for ActivityPub relays, and starts federating with Funkwhale
✔ April:
The French ministry deploys about 35 PeerTube instances, creating a vast platform of educational videos without tracking and advertisements
✔ April 7:
New project OpenEngiadina joins the scene. The project was supported by NGI Zero (NLnet)
✔ May:
Mastodon’s creator announces that some progress has been made on adding end-to-end encryption for direct messages in Mastodon. By the end of 2020, this is a work in progress
✔ May 16:
PixelDroid, an Android client for Pixelfed, prepares for an alpha release
✔ May 18:
Fediverse 🐣 celebrates its 12 birthday
✔ June 23:
Lemmy project is funded by NGI Zero (NLnet)
✔ July 23:
Masto.host, the biggest provider for Mastodon, experiences a major DDoS attack
✔ August:
Google threatens to remove several popular Fediverse apps from Google Play on the pretext that servers in Fediverse engage in hate speech and users can be exposed to it via these apps. Fedilab, a popular multi-purpose Fediverse app, receives Google warning too. This brings a wave of rage from users whoblame Google for double standards and demand to also ban Twitter apps and Chrome, as all of them expose users to hate speech. Heated discussions on HackerNews, Reddit and other tech outlets follow
✔ August 28:
Pleroma introduces ActivityPub chats in 2.1.0 release
✔ September 09:
Funkwhale releases first stable version
✔ September 15:
Mario Vavti, Hubzilla core developer, achieves a grant from NGIZero (NLnet)
✔ September 22:
Framasoft introduces SepiaSearch - a search engine to help discover videos and channels on PeerTube
✔ September 30:
Pixelcat, Android client for Pixelfed, Mastodon and Pleroma, gets traction
✔ October:
👍 Debian donates 10.000 Euros to fund free and decentralized live-streaming in PeerTube
✔ October 2-5th:
A conference about the present and future of ActivityPub takes placein Barcelona. 💡 Watch the talks
✔ October 3:
SepiaSearch is now integrated in Searx
✔ October 20:
Lemmy starts federating via ActivityPub
✔ October 27:
Mobilizon stable version 1.0 and a guided tour of the project are released
✔ November:
Streaming is coming to PeerTube, a feature awaited by many
✔ November 18:
Funkwhale is looking for new maintainers
✔ December 25:
Socialhome project adds alpha support for Matrix
✔ December:
An ActivityPub conference happens during rC3, 💡 watch the talk about Funkwhale.
Is any important 2020 event missing? Feel free to suggest it in issues or send a suggestion in a direct message.
Fediverse is mostly run by volunteers who spend their own money to keep the network going. If you enjoy being on Fediverse, please, consider sponsoring your own local server or donating to Fedi project you most often use.
]]>(for children aged 3 to 103)
Missing the joy of winter holidays? In search of small DIY tasks to relax and put you in the right mood? Not sure how to tear your kids away from a TV screen? We’ve got you covered! 👍
Let’s create a proper Fediverse atmosphere by making paper toys together!
This wonderful idea first came to @Poudingue when they posted a template of an adorable paper Mastodon.
Mastodon by @Poudingue, image by the author of the toy
Let’s start with Mastodon. Download the template here.
If your printer is black-and-white, let it not stop you. Paper toys look fine even without colour!
Do not try to make a perfect toy. We’re having fun! It doesn’t matter if you cut it wrong by half a millimeter! Also, you can always correct it with scissors by trimming all the small parts before glueing them together, or even after the toy is assembled.
The general rules are: cut along solid lines, fold along dashed lines. It’s useful to fold and unfold all the dashed lines before starting to glue; makes it easier to work with the template.
Once you’re finished with Mastodon, let’s make red panda Fred, Pixelfed’s mascot. Here’s the template. It’s an easy paper toy - no small details. Just glue all the white parts to the insides of nearby facets, and we’re done!
Next on our list is PeerTube’s mascot - grab the template for cuttlefish Papa Sepia: page 1, page 2.
This one may take a bit more time, with all its legs! If you wish to hang the toy somewhere, remember to make two wholes and put a thread through them, before you start glueing the top of the toy to its bottom.
And one more toy for the final touch. Let it be Friendica’s Flaxy O’Hare. Template.
The only tricky part here is glueing the top part to the body accurately. First apply glue to the left (or right) white part of the top piece and insert it into the slit at the body side. Do the same for the other side. Now it’s easier to glue the center white parts to the body.
Tada! The toys are ready.
Now we can decorate our Fedi tree.
But hey, you can do lots of other things with such toys. Don’t know how to interest your friends and colleagues in federated social networks? Gift them one of these cute mascots. You can write the link to your profile at the back. Suggest your children or friends to make these toys together - they will appreciate a fun “introduction” into Fediverse world! You can decorate your makerspaces and windowsills with Fedi mascots. Finally, you can present them to strangers as a nice promotional material. You could also print stickers for this purpose - but toys will leave no one indifferent, and if you make them bigger in size, they’ll certainly attract attention.
We’ve made only four toys, yet there’re many other projects in federated universe. Have you made any templates for other Fediverse projects? Please, submit them here or send images in federated networks, and the post will be updated with your contributions.
Wish to share the photos of your own Fediverse tree and Fedi toys? Post them in federated networks under the hashtag #PaperFedi2021. 🙂
Happy holidays to all fedizens!
]]>Time flies, and here we are, partying in Fediverse for almost 3 years! “Almost”, because, strictly speaking, the website went online somewhere in mid-winter. It took a couple of months to brainstorm design concepts and make them reality. But November 25th was the day this domain was registered, which is as good as any day for looking back at the journey and for eating cakes!
Left to right: mascots of Fediverse – fennec for Mobilizon, octopus for PeerTube, Fox tan for Pleroma, red koala for Hubzilla, mastodon for Mastodon, Flaxy O’Hare for Friendica, Ai for Misskey, whale for Funkwhale, red panda Fred for Pixelfed.Credits: octopus and fennec characters’ author – David Revoy; illustration by @lostinlight, CC-BY-SA, large version.
This is a static website generated with Hexo, which allows lazy, stress-free maintenance, though, potentially, slightly limits functionality. Big thanks to Feneas administrator team, who make sure the website and its repository stay intact.
✔ fediverse.party should work for users who prefer to block scripts in the browser. This was done mostly for fun (CSS is fun). Has this actually been useful to anyone? Let us know, if it has.
Some things, like power and personal data, are best left decentralized. Other things, like knowledge and public data, benefit from centralization, for convenience. There were no certain plans for the website, except one: make finding Fediverse related things a bit easier. So if you’ve bookmarked this website and returned to it later in search of GNU Social’s new repository or a link to Mastodon’s Trunk that you’ve seen days ago but have forgotten since - then everything works as it should. One bookmark instead of many!
Since our main goal is to gather information about Fediverse projects, we link to many external resources. Today it’s more than 700 external links.
So far our repository has witnessed 518 commits.
Maintenance work is hidden from visitor’s eyes and is mostly about keeping all the links up-to-date, removing broken and adding new ones, updating information.
Most importantly, fediverse.party has had 11 merge requests by 10 amazing humans!
One of our contributors suggested using HTMLproofer for regularly checking all links, which became a huge time-saver. Many thanks to that clever person.
Most Fediverse projects have a community of their own with communications in dedicated chats and forums. Some projects don’t have any official account which would share latest project’s news. Following the progress of such projects becomes a tricky task. This is where your contributions and merge requests were a significant help. Thank you!
The website’s design hasn’t changed much since its launch. Among the newly created pages, perhaps the most useful are two pages listing all known ActivityPub software projects and developer tools.
Did you know we also have a Wiki? It’s a draft for information that later finds its way onto website’s pages. Being a draft, it gives more freedom to maintainers to list any projects, even those that only intend to support federating protocols in the future (while the website lists only projects that have already started initial work).
This Wiki would have been impossible without several maintainers: Danyl Strype, Liaizon Wakest, Eric Buijs and Arnold Schrijver have all contributed to fediverse.party Wiki pages - thank you very much! 👍 Specifically, Danyl Strype and Arnold Schrijver are to be thanked for finding and catalogueing all the newly appearing Fediverse projects. Their valuable work should be mentioned in books about Fediverse research history! In any case, it’s definitely part of this website’s history.
The creator of this website has always wished to make it attractive for Fediverse newcomers. Once upon a time, someone submitted fediverse.party to HackerNews. After deciphering angry user comments, we got some really good feedback on what user experience issues the website had! Since then, there were no attempts to find any feedback from common users.
A week ago, preparing for our symbolic 3 year milestone, we had a mini “crash test”, where several completely non-nerdy users were asked to look at every page, click here and there, read and say what they think about it.
The experience was an eye-opener. It can’t be called a complete fiasco: design and pictures received some kind comments. But the conclusion is simple: in its current state, fediverse.party is not helpful to any common grandma, not helpful at all. A new, nontech-friendly version of the website would require much less text (of a completely different nature), much more images and – crucially important – absolutely different terminology.
Which is to say, we won’t try to be a website for everyone. If we can be of any value to tech-savvy people who are already part of Fediverse, our mission is accomplished.
As for another, better version of this site – will it appear? Depends on luck. But nothing is impossible!
If you’d like to share ideas on how to improve the website, open an issue in our repository or contact any of the maintainers directly in Fediverse.
And there’s an old bot account that informs whenever popular Fediverse projects release a new version. It’s buggy. You don’t want to contact it. :)
Stay safe, stay decentralized! 🎉
]]>On this day, twelve years ago, Mr. Evan Prodromou published his first post on Identi.ca
. Although that project now belongs to history, Fediverse lives on and by year 2020 it has become an incredibly creative, colourful and cozy place, with the potential to attract even more good people.
However, Fediverse is still a small world. It doesn’t matter whether you’re connected to thousands of strangers or are a champion of Fedi blocking. We’re still neighbours.
“Don’t put all your eggs in one basket!”Credits: Fediverse logo authors: @drq and @nestort; mascot Fe-nix - idea suggested by @drq
Join the effort to spread the word about federated social networks, celebrating the dozen years of hard work by many different people: programmers, protocol architects, designers, system administrators, translators, alpha testers, moderators, community managers, and, of course, fedizens - the priceless users of our (for now) alternative social universe.
Have you learned something new in Fediverse? Have you met your IRL friends in it? Found a job? Lost a nerve? Spawned new life? Tracked down and fixed bugs? Had fun?
Please, write a post with the hashtags #Fediverse12, #HappyFedi2U and share your memories and memoirs! If you still have accounts in mainstream social media, help making these hashtags visible and invite your friends and followers to our new world of federated communication.
You can find some promotional materials in these folders. Use them freely and don’t forget to contribute any new materials you create.
🌟 See you in Fedi!
]]>Storm of applause 👏 for all long-time Fediverse supporters, and a warm welcome 👍 to every new user who found Fediverse in 2019.
Here’s what happened to our small corner of the Internet in the past year.
In 2019 the reachable Fediverse grew from 3.986 instances to 5.027 - that’s roughly 🎉 1.000 new servers online.
The number of registered accounts increased from 2.500.000 users to roughly 4.300.000 - about 🎉 1.800.000 newcomers explored Fediverse networks!
Five networks growing most rapidly in online server numbers in 2019 were:
Three other Fediverse platforms that expanded significantly in 2019:
• Misskey 🎉 +37 servers
• Plume 🎉 +23 servers
• Funkwhale 🎉 +15 servers
Please, note: these numbers are an approximation based on statistics voluntarily provided by server administrators. Highly volatile (servers go offline / online every day), the numbers reflect only part of Fediverse at a given period of time (today!).
At least 10 new networks expressed a wish to become part of Fediverse!
🌟 Mobilizon - a network to gather, organize, and mobilize
🌟 Epicyon - ActivityPub server written in Python, for low-powered hardware
🌟 Honk - Go ActivityPub server focused on minimal setup and support costs
🌟 Lemmy - a federated alternative to Reddit in Rust
🌟 Gancio - a shared agenda for local communities, supports ActivityPub
🌟 Guppe - project adds “groups” support: group-type actors forward posts to group members
🌟 Kanzaki - ActivityPub-speaking server in OCaml
🌟 Smithereen - VKontakte-like social network written in Java
🌟 MoonTreeProject - link aggregator, a work in progress
🌟 Speechmore - a work in progress
→ For a full list of Fediverse projects in development see Miscellaneous page.
• Hometown - a Mastodon fork that includes some unique features
• Dolphin - single user microblogging server, sister project to Misskey
• Groundpolis - microblogging network based on Misskey
• ForgeFed: an upcoming federation protocol, built as an extension to ActivityPub, for interoperability between version control services
✔ January:
Mastodon receives a Samsung Stack Zero grant
✔ January:
Friendica successfully adopts ActivityPub protocol
✔ February:
Google writes code for Mastodon
✔ March:
Pleroma has its first stable release
✔ March:
Socialhome adds ActivityPub federation
✔ April:
WriteFreely searches for new developers on a contract basis, becoming a Fediverse project that creates FOSS jobs
✔ May:
Fediverse has a 🐣 Birthday, technically - 11 years and counting. Happy Birthday, Fedi!
✔ July:
Hubzilla community announces a call for participation to standardize the Zot protocol used in Hubzilla software
✔ July:
Pixelfed starts federating with other Fedi networks. A long awaited update
✔ August:
ActivityPub conference in Prague - 💡 watch the videos
✔ October:
Framasoft releases the first beta version of Mobilizon
✔ November:
GNU Social tests federation over ActivityPub
✔ November:
Pixelfed gets a grant from NLnet
✔ November:
Indian users massively leave Twitter for Mastodon
✔ November:
Well-known activist Aral Balkan speaks at the European Parliament about the future of Internet regulation and the role of Fediverse platforms - 💡 watch the video
✔ December:
Funkwhale starts federating with Mastodon
✔ December:
users from Scotland massively join Mastodon (popular hashtag: #TwitterExodusScotland)
✔ December:
mass Spanish speakers migration from Twitter to Mastodon (popular hashtag: #YoMigroAMastodon)
• Fediverse Conference in Barcelona
• Spoiler from the future: millions of people discovering Fediverse networks and migrating from centralized silos. Be prepared!
One of the main goals of federating software is decentralizing the web. That requires many Fediverse servers each having a small number of users, hosting data in physically decentralized manner. That’s the ideal, a perfect image.
But in real world most people register on large Fediverse servers with thousands of users: they’re popular, more stable and reliable, their friends are there. And server administrators tend to choose large, well-known hosting solutions: they’re cheaper, more stable and reliable. This leads to a situation where 80% of total users are all crowded on 10 large (“flagship”) instances, and 40% of all servers are hosted mainly by 5 companies.
Most used providers 2019:
The situation hasn’t changed much since 2018 Leah’s research on server distribution. Will something change in 2020?
The fediverse.party website changed its home! Our code can now be found on GitLab hosted by 👍 Feneas, a non-for-profit association registered in Finland and run by humans who care about federated web projects.
We invite all authors who would like to submit an article to fediverse.party. Are you developing a Fediverse project? Tell everyone about it! Do you write about complicated things in a simple, user-friendly language? This website’s main audience are newcomers to Fediverse who may have no technical background, they will appreciate your explanatory skills. Are you a researcher of Fediverse software ready to comment on its strengths and weaknesses? Please, share your expertize! Here’re the guidelines for submitting an article.
P/s Fediverse is 99% run by volunteers who spend their own money to keep the network going. If you enjoy being on Fediverse, please, consider sponsoring your own local server or donating to Fediverse project you most often use.
]]>You may have noticed not a post has been published in the Chronicles since the end of 2018. Has Fediverse run out of news? Certainly not. Here’s a brief overview of what has happened during this period.
The 2018 report (update: link not available anymore) reveals that the world of federating networks has greatly expanded. The first three months of 2019 have seen about 450 new servers - hopefully, some of them will stay online (and updated). New accounts are being created and, apparenty, people remember about their old accounts, as the number of active users on most Fediverse networks increases weekly. If you wish to research figures, subscribe to Federation stats bot via any diaspora protocol platform (diaspora, Friendica, Hubzilla or Socialhome). Provided numbers are an approximation, and some projects are misrepresented: Friendica, Hubzilla real server numbers, GNU Social account numbers stand higher than metrics show. This is due to technical issues (mainly with NodeInfo / NodeInfo2), and because some servers opt out of taking part in statistics. The good news is Fediverse keeps growing!
ActivityPub protocol stirred up many developers. Not a month passes now without a new federating project. The young blood of 2019 are Mobilizon and Smilodon. Fediverse developing software and related tools are all listed here. There’s also a Wiki.
At the same time several projects are being abandoned. Osada is one of those - the lead developer announced that the software won’t get any future updates. The world of OStatus federating projects (GNU Social, postActiv) has also been quiet for a long while.
Among older projects Pleroma, a lightweight microblogging network, has recently had its first stable release.
A fine end to the year 2018, diaspora project got an API. It’s still a work in progress, with luck we’ll see more diaspora-related applications this year.
Not everyone is excited about ActivityPub protocol. Diaspora developer shared final thoughts on the topic. Pleroma has implemented its own LitePub protocol version. Nevertheless, the majority of Fediverse new apps support federation over ActivityPub, and there’s a forum where developers meet to discuss things.
In other news, Mastodon project received a Stack Zero grant from Samsung Next and was definitely noticed by Google, Keybase and the Meet group corporation.
Friendica now has a mascot! Its name is Flaxy O’Hare. 🐰
Initially this website was created as a guide for newcomers to Fediverse, a modern source of information one can use as a reference. As federating projects multiply, it becomes tricky to cover all the things happening in each project’s community. On the other hand, all recent posts published here were release notes. Newcomers to Fediverse most likely find it boring to read interpetations of technical feature additions. And seasoned fedizens keep track of new releases by following project’s official announcements. Or one can follow a bot aggregating all releases via RSS - also available directly from Fediverse (releases@venera.social) and best formated in diaspora protocol networks; following the bot from Mastodon not recommended because of the way Mastodon handles articles with titles.
For reasons stated above there will be no more posts about software releases. The primary focus will be keeping the main website information up-to-date and publishing long-form articles about federating world, comparing its software, exploring its strengths (and weaknesses). Perhaps we’ll regularly cover what’s new in Fediverse - that’s still to be decided by our (rather small) team.
Happy decentralizing!
]]>"For Artists and Hackers, Academics, and Admins. For Humans who Grok stuff. Those self taught, and persistent. For those who build for Us: Tools to own and run. For People in Community: Who will not be a Commodity, For Our Internet, And all who sail on her. Useful may it be. Save time may it much".
This is the right time to notice that fediverse.party is looking for authors! Anyone who would like to write about federated social platforms in a simple, user-friendly way, please, see the issue for details. One-time contributions, series of posts, a best-seller book about Fediverse… You name it. Fediverse Chronicles are waiting for you!
]]>Happy hacking!
]]>Compared to popular mass giants, Fediverse networks are like precious gems. Few people heard of them, but they are out there, waiting for you to find them.
“Fediverse” means federated universe. There’s no one website to sign up to. Instead you will find hundreds of websites (servers) powered by citizens all around the world, independent from and uncontrolled by any single company. These servers are all interconnected, so no matter where you register[1], you’ll be able to connect with friends and users of other servers.
Instead of listing “one hundred suits them all” reasons why you should switch to federated social platforms, let’s look at reasons for each particular person. That’s what Fediverse is good at - providing choices.
Federated socializing is your cup of tea. Currently[2] there are about 3.500.000 registered users in Fediverse online world. Compared to corporate giants, that’s like a small eco village.
It’s natural in Fediverse to welcome new users, to start conversations with anyone who shares your interests, to follow strangers. Do you easily connect with people from other cultures and regions? Would you like to broaden your social network and become neighbours and friends with people from somewhere on the other side of the map from you? We have communities dedicated to all sorts of hobbies, regions, languages, political and social views, ecology and animal related servers, books, shows and games. Choose your community.
A wonder you’re still not part of Fediverse! It’s your space, it’s full of people like you. We’re scattered across Fediverse servers, searching for kindred spirits. There are communities for researchers, bookworms, game developers, web developers and techies, as well as servers run by respectable organizations and entities.
Your content should be yours, without granting the explicit rights to any corporate third parties. Fediverse communities have high opinions of creators and willingly support their work through donations. We have communities for writers, artists and photographers. Here’re recommentations on how to become a successful artist on Mastodon. Share your talents with fedizens.
Federated social networks do not have one holy administrator who decides whom and what to ban. You’ll find multiple servers for sensitive, vulnerable communities. Unlike on mainstream social networks, you will not be silenced for personal views. It’s customary to share some images and content adding a special #NSFW tag (not safe for work): for spoilers, content inappropriate for children or for people at work. Remember still that each server is run by a volunteer, living in some country with its laws and regulations. Most servers have local rules, and your administrator has the power to ask you leave if you do something nasty. You’ll be able to migrate to another server and do nasty things again, but you’d rather not. Spammers are not welcome, Fediverse administrators quickly react and share information withing the community. Other users have the ability to “ignore” or “mute” people who irritate them. Being nice to each other is a tradition here.
Then you definitely heard about Snowden revelations, Cambridge Analytica, Equifax breach], Exactis leak, manipulative practices, multiple user data hacks, and so on and so forth. Big centralized websites with big juicy collections of data are useful for mass surveillance.
Are your friends aware of it? By leaving mainstream networks behind and joining Fediverse you do not automatically gain privacy. Securing data is hard, and federated networks will not protect you from targeted state surveillance. They will, however, protect from corporate mass surveillance. Especially if you spin up your own personal server, secure it, and host it at home. By inviting friends and family to Fediverse you help them treat their personal data wisely, you also help them broaden horizons, find out more about free and open source movements, become technically skilled. Everyone curious who likes to explore will learn in Fediverse.
As a privacy rights organization, by opening your own server or your official Fediverse account on one of the existing servers, and inviting followers on mainstream networks to join you in Fediverse, you help make bulk data collection more diffuclt and costly.
Fediverse has a server in your honour! Be nice to each other.
Those who invented “pickup” thingy were on a mission to help people stay single, right? When someone weird approaches you in real life and you don’t know what to make of them, why share your phone number or email? If you wish to test their Internet IQ and determination, tell them you’ll meet them in Fediverse. A Fediverse account resembles an email and includes your nickname and your server URL - for example, jane@nerdpol.ch. Anyone who really wants to connect with you, will find the way to join Fediverse and search for your profile.
Then you’re clever. Are you capable of empathy? Come on the light side. Transparency is your power, and there’s nothing old-fashioned about privacy for your family and loved ones. Just like for all the other citizens of the world. If you know that at heart, you will be invaluable in building social networking the right way.
Not convinced yet? Ask this
…and it will show the reason just for you.
Federated networks won’t track you, bombard with “personalized” ads or predefine your timeline (stream) with algorithms. You will be the one to decide what to see in your timeline, by following the topics you’re interested in (subscribing to tags in diaspora, Mastodon), connecting with people you like, joining groups and forums (in Friendica, Hubzilla). Come join us!
Fediverse networks are not ideal. They lack some features provided by mass networks. This is because they are not backed by millions of dollars big companies have, they’re developed by people like you and me, in their spare time, for free or for donations from the community. If you want to help improve any of the federated platforms, don’t hesitate to ask how to help and start contributing. Welcome!
Initial call for contributors was published here.
]]>Hypolite Petovan, Friendica developer, wrote a summary on what it would take to make private data in Fediverse networks truely private. He uses Friendica network as a reference, but this applies to all Fediverse networks that have limited view messages.
If you consider this topic important, join the discussion.
]]>This adds to several other alternative Mastodon frontends, like Pinafore and Halcyon. The latter can be used with Pleroma, as well as a new diaspora-like frontend Feather.
]]>You may have noticed that diaspora* is missing some features.
As an open-source Free Software project, diaspora* is created by its community. Now that you’re part of this community, we’d love you to help us improve it for everyone.
Read the official call for help here.
]]>AgU3=k^ezJYl|advLRYnon#I a z97h@zz6lUCd0 3K6GRlti7a!-rb_+cR=zLU3MAIN?uf zQfnhd6X^E3C*bEi0k=;a4+67?UNt>6eQJs)%_1OfJ}=_1>*<_&K5xfMXeSe6pT*td zV={nX7a1toI^(ZZx(a6an A#MMvu;~PRthffhiS5Bt1e~8N*Z8sn!+H zHFt|M4g#| `dQ8{)YaNb2`^D>WOA(>*!W*Nv%guZ0C<6>GH_ zyRLJ8M<$7q0!p#FZk_!PdIQ`|BWK6(>Pgnn`9!LISbDAd7Ie_jAgAY@vZN%V9>dTt zjnuuseJ0OygPsj3C}t|XBz-))BmAK2O3bCVznQEn0pD7f(Rfz8_%{X0zjc>li82g0 zV8Fx@;&2e*%$Iu4B>*k4hXJ@QSffROgXM>)b>SgR-fT $H*x5F-ws?_Zez)W zpoj+RKC^0AUW583^B;NW1+t=ATyNHc%0uMYQL;30#K~EjWf464qUt PzIj#buBII{IcOH9xdpA zbC>tpbXqgwq14Cd@i8wlf%}3#?$m&Kd 9|~7)^wkIp;3#dudeD7 z!a<8v1N^?KZ4K&s){H2^JFo2}7%Pj{E23~k(Iq|qw1=(`XYs)}bI#EKD#mYQhO=yI zV=N=BC4ibWnGzUFgCT0VX{-0&a8C|y6W{-sD4O!~*-QA;+>)3rT9Vd=Aj8#yxjh)? z5Yb&XXxy@O;0?4Q07ucLPEGYQH+TLsnvtl0piA))9dl2vr&g!$3M%dEptwR8ne>c| z7uR&YK|@P}{(15t`(@uu;kQKFU8F|E@=T8`5ylNl3o{2*6wd$iT7=8#5CvLPW}u}j zg*F=M+Tsn%X`(r5XsUA-$NL2CPP09P>+1shExulvYe|Y+rz>Na^|}j*G+!TjQ|%ql z9|gTne(WZD|#> uJ0n#A8bDmQS3whe}@hEu6EkvG(`Mo#>L0Vq5MViyd5hGY4>)NNB+=NN9oy- z2M7~uN}K7LN$MyJI@)wkn3qKB m@echqnmsa6j@bLnBn= z*FQ2^3ZSpaF-qW%uSAl}M1~}kkO8Q_pI)~rJJhKeP3Vn)bD#gK<4wyevy=d{+@~Bt z0x5x!E+7!wHspnkguKbI;{>fQnfzXghbxE*unGX(-|OOLn8S4G-ppf6J;L_`1$@TH zZ!Gld2d8A0rb%i~I`(|5-Ub~rXyE lj$CT4H6-m9IYgMF~Pp1n0FNGUZ#F z4GLq>NueOKj@5WbPzg0RZG+r!^%4NzRZa)qODm}yN55p>dHOo>ng%_P4j-I!waRHt zvw`4!9X|e<%s<}4pW@h3O#7I{O~!8<&N1>)b9+H;%t}1KAe0ytf%fgBzms~nV^$4r z^%%_!LH(^j&?%s0e5GDeTBAr43ysRh7!Xh5n3Cks&Ll?FCLtBRLM>YY{HX~+sIfdb z;1xYLn&PmDZ(~Me+3F~E4B*km1}D$a#cz#7mR%lF5;Dn~K~WYd3;U7Ai?W4HvW- zUP}XKO=|4!fu~-Lq>(>Ll+8-N+l153RezHm$>Mz;zB9PX8pC_}klPHb-yZOX!I2E( zEH;@?a}-So??;O5B+1ag0`%~$3g2-jk9I^)>Ca)uzU^ZMB_Q6D)V`(MNEP}+D?1Zr z=IaAtuVLBq4sM9HP<^-^cnj+{==$p!5HR0`K>EhaH^y-5K-N%e(#->YeN9?+XF@cD z$1(28-dQp0L+#uceRr7&s&aX~c5YbZ>gH%DP6wrq82>6fon0fl&onTK_g>=e=jU0| zjhzj^$(A_)nbzj>z_ANZD_Q4Y=}Fh3Q^kdtBb{<9jv?7|z&4vlC~u*E*+|Yu&HDud zJ2|hD#w==ZqdhhgSP%vH`-820zfiChD2Zz`6ms LurmVrC6}mi@)6x>%fpw;2zG_gh$k)P6%@=2Km=mXEk>iwi>4(-y?s5Mw(Wv} z-oUITa}$p3SQbrzj;bveZ)qLBw$hw=XOEsR=Gd<=tzyE&tt_4_KxR8 8z1#9RVwE zMPe+gZe2J9CaLub(XrZzp)9~bSS8Zr%Cx?d_-;=v^kwVW6+MdoIGC~PV?xWWGpGyZ z25$&KEZl6SBEj (cd$1gf3_8DVKp{peIEDh%+LOgQS53#AGPL3P2--71}Fr8 znj?Rf+m}nv3{E~Wp)q9kQii&*@@8GIKJ1r!3l!~D&Arx-s;5)M;)6FBu$8Lfw!AWY4U;w)9P*+Rgj$j@A&doFs1mRMVhOn!4$6w #+baZyjO%*49deKC=1aptT$~1`SzxRv@o;Zn`k<#;vx1TC|FjHbE4TYQ zahwX;+ElV~fZ)`+f-9k`jF|g`$~*8QwsWT~Vy!YFmH+tOQFGi~F2!$EscMv=vy( zw5DHbGz=pt@OC+4XXE-OHJ_V{k--W{>Bz}UhJ1kp77hykk%>ZtWkR(L1PsI063k~& z%N5(KRXkxmVtjL()rIs(a)13`Oi-n&<6c5XE4i4NrG=4j8U5nUv8G`-+QyKJ2~=q! zOZcz-`p(%f_41<$@op1;NCmH6$l#FPKMYy+_ZK=2a;P+XKYXIU$mD7t!1vc(_D`;X zv7y<+e??WGI99{|ejx<8{BSw Q z{gJ7}DQ_Z!g&0R_<>Zg&bDvbp_mf`o%5!=}cgBr$+L3>>{DjKbxYnEXeJg@0ZRm_A zyWE@S9{Z1{7RY-a^Hd$0B+cS#c|2e*i9_oZi_%SMr?bDt37>2#wUR!ZJjboN5H~kF z{K^nV!D!f^>QxP}6ueHx+;sBxG)(5*J@Q VTJu$zwB}%Xss-h|dkX2%o zPd$h-d!v{OwJa)-6j8NAxTSGuDJ4kGV+=WHE2Z*I<&(&0Vuq5tvr@ljgvbl)tuoLw zUM!}gi(@MK!8BbfL6OorKKE}&y=w`S(sL@}7mizs2a^#GPz|+S$+D#DzBr?+>u2uP zq;^+G8JkoK!xg)EmGeY`j)vAjnm=*x(k9;E)vYf7_*SNkJiWR)3V>>(aO?W2O~*9B zLzp;>yk@P049iq?TT6e{aPv^-%5eD;cpa^|JhVWGC(uJp4n-qXZD!YJGo_|?X&%1m z$LHSn443l#dV?6x)6j#>0g=>M8h3M_&?w3;)s}WFl54&}GUlV}DP~s|_voR4#>Ojn z-1nxXii*WEXqBR(O=3}^`)2a}l0Qdkno&(03JvG&q)MB2wDRalSR)bo1kv#=Rt@UC zIBDoqDY>{)n#tblZA!c{tJ@6klaNktE=I~qH?tw9STdC{w;4Dl`O6ZVY&vt1J5Ay9 z)$Im&eOhA7rypLe1c>ixf0vusU|eG)74vE;@(W}G AA%w1aFWfZ1!TjP0Q&e*7q_Q)I&bo7!e`b6@gLvvo58AyWthW6@$2*Cr#s zO!3gj=;nT4KYQ~GxF!1FApYWy=m!EV;Su#N1yy=PSZ+2~AN&CAeA6+ay``&;UEpJm zGn=DnJ>w&b7VX7_*n06+7d-3Cx%l*UeYz;@oC-pFh$#lx(+bqcvuaK7OHg3OaV0c9 zuIC@##rl3+&I>NepPy(c@dtV}#|3a*>+!)c_(}};MR)p5buDIw=cG*Zq{cd>V_C^N zDxg&fM0t+iU>#hY LtgQznExb5evwp9_TDhnG2riysp?g2|P+wee`&^ zjQc>x6Eq>nI0J8I{a@D5@JQwYV!r-gYZ$z(kr1bDpmT$!B+%O|kh R4~t#H%Sui#8Vnrzohb3qEaKBBv@UMHzXli=Be#?SnKV*zQCo##SM=Tb8EHmAKj zgRgn7)|`tK_1%P-VIn?pBV?G=S@Fq>J3NcLT80ng97fOCf#>-(yJhsbde>9ZmZ(3K z<%f1o?tI{&h@A8uwx5P^cx$tD{3h)V);l=s@=P-wK|cvMxIsl?Pu;&Uf3aYASwHz! z{%3fA&2PeE5F)MrLvHknxyW?kTI~+YfVXnqQE{egc@LfhLoa^@Vb`qX-T$|FbN%Nm z`QTN*?fA3!${&GETf%HypEfh pA{mtc#D#?BrKXBl9JO&BT &8SsEC2cV)d6-s>JTzzL>vPSk%FRXix?NGY7fF z>W$G(6P_{_{p!_ode0!z!|$O7$eaSN!*?#>wpIb%(R6<$Y&AcO<@BoGyRoKU4sXfi zTF!iOn{Yn8enWhJn<~%AcqI@mS_Lvz{9iS`lZDdKeudK4DWlf+yA^mwM0(ALfCpqH zOCNIi*}J0|XdAn>ik_pWG*&CBu2e!+BIcg pb!y*&?mzbYTjoOGDxS!K7Z z8h}?(9qGWz%Kr^t>vp)S{9pL!3EOHZ=WYVFX*w5 x&Xx{=+SNatvPVcK%z~Olv3qUHC5}Dp_>-`r|9 #^LfcZ2~V ++clS+3+@#fAFgBLpoJSpucDHC8}^g%@i z4@)E_*Vnc?)QMOXi|RArgf8+<> 9)0U+P?py2f=(FqJlDVBvhcL;qV6dD9K-h28Sd{i1HGJ^?2uO>_wCBT~ z7LsVqndd@O#hUgwT+ah^!wFyGG=J6n(52}_k$$>ofJvp9BxP1sb~$WX%70q{jh97l zVo9j8FEg)G?lKOBeAm|Bkdp;xmbyotlh?<|!;hfUz&U2#;~Wpn?*9^FL3!(Nx93e` z9mU e}#{))1h zX6*{AiE0X&8h1YS)|0BsD@;fZTeArWAD*811k$NnG4JOG%7Ibq;Shfn>=u3}+8t)O zhM$NDmXw;4$qeHjC->JPvlA#k+?lR-%1*DyavL=!9aS*KOh=G#d!!}Agyi8xNx_0d zUa{|`blJi|9w+V>stw> Wr`+GOcgowV*dHsYvkVP#H6&@>7+GUi40|*Esul;)3qZ;KXEY+S4D**!n9e zM5!Q8rnRQFVs#o@YXg4Gh8?sl?-XooF-Z0K?G1vpLh6;R?iARo)Gc7w5Sgj~|K2cp zxB`}KwMc)2)eU&26tuNRnSEYEM=!IW99an($#3mu-TKGA48>&Y={|e56{C^O=CIR@ zqkigA-{{|q{bowMQT51&Fk4j@z^t?gnE&^nCk^SREE)M<;-&v9> zsjj$!G;~-8>@a5Rmpq&rc9vNXcwe))Nz_(SzfyZmd5oyG-rtIGl8H4A(Rhlt6{SH7 zpd|?_(FFn$&dbnes%~%Bq#sK3qFwI9PR7Wo6K5VumB;kjtKE4L!mw=J;ucyL&+X(q zu3B7`rqrStB;Ig~k4S8WX=rPSnQdBh`rlVWUqxw7Rsv}f%2SCCO 9gie9A1m)QHmG@KZX*sXy=)-f~KeRiY>r`gCe)ZVC z)rEh-&L|#W*OO{Ni9t_RHO=xUgS~(pxwXv^2L@SJw@5eai=v3MB1LBWBV_;JKyMk9-$&D({fnC!C z%&Z=oyfh3fsUa^C#gq@wORjSHYmXS!iOjhCq!AqY1}$&!bpEw~uvhFnUu^h%+Lp%i zJ?$B`Apf{Dn1W-1))g%EI6D3qRkUAY1m#94amvKvLbDLcMti8{J0D|SysnuWE>2To zo D=z%&A< n15V#c+I1#MNF z8!63*H=BWFt<2S4u&{S5hcUAvn0VriT0;QoJN0;eUC%#T7t4G&t@V|YMp`r^hbwrp zqUTEBp*hKSft#ZHuxq@3eaK{fzkQa>ZLRR|wOeN2-(Jt50F(m%*f{X(D_4Yd^v4)K z&kR)SXJrzN!-~t^H|HM`o(t{nEcymH_{H5Dc9Gj7GSMuOvXjTo$>T*>R!_^>fyjAQ zNR2Z^km>;x-EM9HOZx#@+>G#(0q)MXVw5%x)yrMa(O`bNeZ0MD%t} `0Q@npT)hr;n#A22%@!zJuzPrX{mS3IO_{ z46drxBI;$@Gu4m009auJp7S)5UpP5Wv af7ri(=#4ZLd1?e8bA1m$70AXLorjIwS&sTN+F*3Y0m)lt|OsaQX6Y zq+&)md}nm&FuNCNG)(2nd}zq1gc`ognEnMcnjt1M0tMn_T7QRb>=GnLIoocHaR4 zh9S|)PN#&hY#8uu%)5_@aWz5V*m8=-`wA45HBWJfp-ZQm^yp^^wNyQh_>C+mSk$RZ z 7;;OK-r4Byxr_R7IJCV%=S1gP814-%$CRo&>fRq&6pYGm zd3R|i#zfJTA6KrFgP4 u@VRGJmb(|gkkfQfo`z7dfpk3XK3#s5576= z=)DOIKzSEM;i|lM(X^s6hlQmfg4*j2)=Er2vN{L~E$ZHH-sH=vm7l~13+>YS6miSM zgi3ULI@K5-9S8w6vtjDcAfRNL>uK4_WJ<2+`S%dU)m2xH^Kf)LM%o(zVo$cMP_P6i zfiQ)Jng*a%dGIh)jyTo&j#iZc^e&?lSkuT=6J^c=#dlQvk+-QK(zK+99Y;j a zSL3qv@-oJi@`ibpL_K{U1}oomD^1hQ_a-xy!JMHmj`CdtyrDv->*|RP&|~_rN8H|- zlv(FX>$muBo_&G&e;)Cf8aY7-B%5L*?w2U4?9%=B(7lf0mji1>g0eBCvQ;ziLprCu z2bn_^mVur%u|+^#?mGP2RN<=Ox|Du1KKSnO2lKXK7(R?Eo=SxobxTJ@nXo+?U6!1j zx6WnHq|}C Ti0 zW>U<@j-kr>NF;N4V3`#m*S%&=LV-#ctAZ=(!=@05*7Rr~9jy@ERJW)q+AFZL2tO{j zWI%&w76+|s#4b)x^B(&l9R%b*XqT`{2qV#2WJyh1YHQ$fAn+dKRu|}tLQ$=A^tV2m z>E#vnJ)IM#liouqeU+Yx*DGvOvlfwHT*z9}P|&HJAcw_mlq0(Cf-Pq73Z=;*WSlAy zW}eoaOOmO!J?RYNRfc3n0Cd7N%~_s*C{oa+)@b{UIXINx@JBRj*zI`g53gxK)9kA| z*HL#N%|{Y~p)g7usGOALdI$Ls*7F4LgYgw~vBikgh^){u+29tA%ttkCsyEiR6d<0C z76k>QT5?esJ6Cd#CPnni(oUgpk-WlF@3Vp*PAdxy3_!3Xps=VB0i@p~FOE|am4%^# zTY}5O3>2 1V=Ta} z9i5V=&$bh$tx~)8C c$cPI>>X$appSt#|TUYzIiLs z?L0D`tOL-;dFX#;1iF &NOz0QS(>*|Xu`1(? zN!edK=E uz-^f z1|x8IWQl@h9`#h997|uiTvOgEoLTNup3y~BaAsb2J0Me)3j+;pCo-on9DO+bN7u(= zAA#a>TVv8Tz>dk)yLW+7^YehN0RVN3g*E>`^I=v 5&>jcbu3%sdo1~I^@ zDtl>}6SQ@2mHdMo0={ta0GfG=lY{&OC2?JsGbOxTv z()^9dyl ALC}h+$ppV3kz%8nmQ&qM^K(>{WMiQ&-YbEh}%&+Bwf|{Q-7ZbG1%8 zY?!O8KHB8r?VPWSzJQ|_VWCOV$mWlK=0HpYKi!*!(XUAaHvhz>%L4HiOB={Km-Nf4 zd$seCF7#J-aH72DbkzhmUaX3*%fg|9VCAiOI%mNbgK_GNJw_3Miic4pStCt)Id?Lm z&aa-ct?xptdDhs|^&07z-EuZHX?WuE*M3^I*S^`wqB-fvKOxT@QLuC#jIVs@;fsfR zd6tCFn(|BD#>y9ia0cFcf))?B24R?IUr?z4P^JCBe{t`4n-Fy}MGG4d1_|00W>V9? z4%$rc-4We?eKnx=|5<{?4Y7fN>XiPVyK}ZhF=){$fpr1~Al`!HJTh-2< XG3KTHLWU`PRyc-gSH7L^v`2%BT%@rud+$4ZuC0^aEzIw>yTK;D=dmDIVQCCdi zc5{q;OhD5}v^uQWg~p81)|5^SF%lEHPv5D@ex^$UFTVKSYRS@$@7xnM2!T`ua^D^l zEP8lUf|VvFL)0pG(R#7?(Vo_O>8--q7??YWs@hZf&uYPsy<{9eIqrsG>XF%$xo>_@ zk^L=M2J0Ka&^up$twgiVBLx2ZB^0Y4TjxcB!|f;<>{s%_(zehH1}qM{;s3j#*L%4r zL*II7;0E5tLA+f43o;KJ QI&1A}n z>9|a<)&D*Z|6bXR!d3jk{c|H=PD=6t>(ujZci^nWmkdXQ$vQ&TYmN #UPdwVks&Agi01Q3yotwHmD3mnrA(;vXO003OZj5Jo{?+m62TmzDv9r{6qJ#aq?8 zdn{C})rH>b`y*O?FyJ9*;B!Jc0EEjyJ%DneIXoy7>-7yGZ&DDxncsGmLs&NZ;)+i4 zHd+mjgQbJ+p@b^Y3+4Brz8`+w#*TIkvPb>mN8Yq!W#MAIgJC`ncdYgJ*NXem#UIe^ z1BcrybeO7|=+V^Y1HSAlUUdu&A3b)ZzL`mdKSIA!bCLh<&o5r3)hweE` t#&3mXMl-%*+4>QEnxfyoKEBvDC`;ACT24-6qWcM)5OELA}IPFO5tgLaZV_|07m z`wFrcspv$`fhez3&NRd(r7JEJR7F(3I6I0k?LvF=NfpqFv5u`$%lb7#r`=pNq;HI| zs7Mjo7jANTfH#)+%`e_o0s=TqYbZY7JgrE^=&6Q;CxZGfcX16={qX@V;~0SsY?jSA z%dq fw=UFl{G;4M`>>+Wm=9~;}e|q};_xzH<4OS&00N5^OCGf}}DD+zi z#aC_iFXE5>>~P;PfICc%{`Va* -L1Z a=9hIqL)IjQ9WM&5BJF)L?{%$XJX;A&iM1A=EgiPI8+<)PJ z7~+jSyH*lI=acI5p6_Rz6@Wz oYSV8XVk9?tH_uSEiI+<=j)3U`I#xeE1Mk}1BgiNnW=am% z0)(ovNc$zs@JfawspD|!IovI;qN5-R?TpncD<&-Rt<3JX?P9*dIPLjVz_v*^>UKTC5gD+c~S6{5?Lto{Atp(Rmd}&dqY2{l)c8-&OJzkDjF;rQh zz}TD$Z{tGQHWJ^Z(2pkE 5Qc 41-bZK$8yFG+%dSJI3Rf><5Mt*`~@@7&3 z&g*9RnTmC(atCD~&P=zcpY RBjGZ1 r3X3EmQ#q1XFQ58pYxVjZR&^20 z%$6sSwaRSRdFQeaYIyYXmZpSqk0Agj&AgutZ@I$Sw$!uzD`c#qv?(hxRfn?M8!FLK z>kock-VXUC*F6Rel}?AOuZm2_O;o!KGp`!#r_b`_&anQHwT;mv6zke~54%lsDL|B) zcqSzNh^Dzk@08_A)W6ST66?z6!a79KJfu7zB0hiqB^Ok0)W^T+TjW2`!8}Es%1LXp zrAPkZnLnzzj*6V~dZ^Qh%GG{>K~itWnTsIC(Mb~{z?&!n68;HL2tB6oYJw0{X_3c8 zqaJQ}^adQBG020VVt`-+lcO#PVU=%&u z$g@MiFvQ_K9%t9<`5_ntc&~0aJ+2I~B)(f~4aCnnN_AycN%($Q+Mv7B8DJ6srI+(q zhJ_|Zprl|?r(8h?D4KKpY8z_N>-jaPE%)-v;Ln7wPWRor4x3#H>dcu+Kb#85R1cT2 z`RfRS%50j1>|M%rO4M)on0>LH;71i`@3o{e4Qg0ch}CWe G&JJB0Upo0GD|!(uo)-K5R}_`kQ9AuG{Fu$%xkKmNuSkcj zNRkI5exCU&3w~D5%$QJr=U7NHiz$6yT2=+^?%vb3zNm-VlE{`gWwCO-1Yd5GUpM6{ z{ n>l-Cz z|D+%?+dTjiN2 )Yaum-g^i>LA7GlKVqRF0wq8{zU=a37{8_VfsW0tL)z)b@ zS+Ngy^{T}0vZtuy)Ht+}DlD}>JmmDIKU}Nn u5Vo%?@ffptJH&NQpWnMGUnq4UER*&6`ubP#w1NSTkGNzwcXrNfjm<9;_B-cA=7 zG4ta)av MO8e!ML7a2PfDn0a%OuZymf%3qiI%p-OJpueG{%?>;_Mi}zRVelL=+f+y7N zZ7o_mx$hWN4oFFw^_NN>qGrxSl*nE{Sk4-(#X){`S%vi_F12!qYx6vt7V|Lcjf3xp zy(%3gJp?U1so~((^k~`bE@}q7@$$%T;&CUsLKV}O63p+q@DpVYjM2G}2Gebpl*owc zKi%DZg43*jhy@{zQdnDd*V5QwZXMHIrwHQ`9H3?lT<&_9&|0wXed-@f!|gkE+cn{F zTi?F5JZrfN@X7tZ3GQ?^>+aqGlZiY03Awi-wx+L7ia&a&mr}$~+aHZd!ZZ~wmNhZ> zc;WX-k599ITK_(LY S(hN`<%x#MCo4eaOCm+Iev%0XZc*1)fm~$jDXpN;0-Jm}p z ixGxK8mBkoFt196h-aCQn zr)?(5sH$#RnYb6}RDAD}iLUsdCI^D;#iMtaY2;?wPXAQ?NF?IPMh|{ATtS8iNE}CE z`!S$+Cfc$z2?_25*lepgF~aevJwHl87x~W#yU-ksNf!qT@$*sor}dp@@hb7}F}d~- z35@;`a0Z0s!zD`KOjno@8DU6VKe$u$4G9l&bVGvmnp+%!GX=k#FmACIa?hp_j=t(x zBxpgBNnNY2O|TnSUs8WjE?(c564XoMwrUaRaHDv{DBkIWIoSyas=QpreP(#+ak)Ko zs^fkBSN-7hIZ7*CvYw&(D61`q)4p&CNTOSPYYo-kAtRp%?#V{FK80$3qS*T8P=Z=! zeGwu`!2*lA=@Qvrsn}kZtJe_N#OR}%;1SYyD+$SqVI@f_G~E;n>006Th=HP?N?fMB zq_K4mPa#exio1Ou$pF$+%2q*TRyO;$I?nRx4MU>L-)Rn~VqVICYWYuXNUmJ3E2k0z zLm{b>fTNC}&xbr6*f7ZMFMGgHoR=d mPCr*QN2$?3s5*~lYi%X9Wprn&t;Y{YGo zG5!FGtgiIajF5H9ymEHWA0gx+Q=l2Y1UOTd-g&69;6-Y=az!jx!#G+?R&9?~3tNLg zw#zh s)F=~^{9dWCF9+0}?4)Fj9 gJF+rg+t44!hQ1wA;66QLLt4O+U zDMs? >CoH1lZ_E^e5PYxT= dD~){^raQ5B znNI3n3ZAXM
Sy+k^{a2w;!`R&Yi|? zEL3kn-dVyV^kKM48dxMMp;yaBtIVGs7UiP>cL!@$J)_KSCxLE@b&F+X^kL{s28Rjo z4h}#D_gA-$*4iQw#N)|-)?_CO5RTJdGGCMOA9~3!Dp4NZw{7Lu4_+`l_8x9T5S*w5 zA1@@_Bd7~mo=fVTZAmqP7}R8K6rR~u&ex&Gb$xu4z&i6X>4P3HBGIi?)JQ2eDb47F zHLigUP5hC01@05nbCj$Y<0p})P%{1N?A?_;C$TtI FS%I7t zLGw<=Dh&M~(2dmQvnx1BG4iwumN#$s_}c9+cZ!4B?KdZ;z5-N}1zqVUqE!h-g>nb~ z`s{ci7|@>+hpUI#T>5E_Kc~9H@{>CYJZsKpP5(u6N}oOa-p!&Pm33gGOq9MYFTD{| zB9;1ds#>`|trR@KvR64nI~pAr+!O`N0e&&<(WNeOr9|)E{7$-3QNt&T_aE7`;6Nh= z8)CA;^Ic`WJ_Gto=>OhtR-2CzCC=j2qBx8Br ymO zc9nQGqT9GUUM2~5QxooN7H;}u03Fcy9t~rD@JNU)chAYiDois^xCxr6jLp_f8FQ+J zfjnCi@V&=W^Zr$|Q?#wLEz$9+_dn%QM+l43GUqN%!yrcv=a0hEQ~LqdU#%HM 9^9z(&gSUJTq=R*P_)2unD@=%a?nJ zuE+)sMQkPq^&Nh3kYt)4j`>iV!su8BbA)*%i|gO ;$?#gEERT_gA iZgQMy@L?9A`ymR|J-S_uO%Jh$?4<31%ka3 ;oSfIx~|rSt2U5-R3!JsI;9LwMbXt;b$| hBqbK_?WP`@nM2ao~Vp7bJSXZvEt3F@2**XK&<6B %@^_T}V9?;nAH@L)1yPM(I z$DwROi3=!~tj;J=X0%D8O;^uwriWo}NIphaf2f`lN2-ML>-88I>eSNEdOG$@9nuA| zav=@r{C_F&4%IR~ph3vtH7MK>Ef1R)6&mC5SAu?e_x64Ak`jA!5FE2m6$k%*#x|^0 zvu+EXb7At IPTRc@& 5yVa1V=|q?@{m-V<_$#%~3o6+prp)_l_}RI5S!) z_mWA(CdNuPuJLonk`6*`%AjnqSgSWlMrX9(VJ~5V%3*8&1=zL3X^uo8N7ETcZb2Bj za3A|P!39}c+J^i}_uMtmQ)K2ZXFJd$-9gJ#+{IB5_5LgD4p}kyOCz)!gqgar8<%L8 z6%y>t6cjwEqNQtHUVsNLmP<7MV78dHqlVZUH_AlyUD=_~epycU$a2ijGbvVV%yPIM zp{EqjbF;Z)$a_Q!I=V%`C3kY!xmU_BUldaDblm~5N=(@%0(vwRd$V|?d>6J9V~seG zxC{(T>W%6uX!AgX%CC23KRUqZO9?{b%UY-03AXaX@~r(hDE!r!eLj*<+emIz6W4@d zSD9&akH*JMVgfhQs{=nU;-3an1VL7R3KQXBQJ6k49`rOrvbKVIbF`e`9I1VdK%r$_ z0Ci@aqG?`DMZm?L>!>s`t{q(*tmKaOw;8a4de}*370f>_H=4gQ LNQK(Q z<2~r2B&@f|L#qww4R@zD2)Npmf=Va()ACDoC847nbr+P6jti-$Il&Ij5r&G35~K{V zA8X)hu2-g1g`!9$QdTI8-1NElvon*Hgm>jf$b={!g$(7p{2!hh&=)@{Q(u|U2*w!r zr#o9gC;tgm;?UWg2-}mLtvGDbREdLfEjPoum@1|*g?m{gS+*!Cn&`3B>|8$)cCPYW zck^BQhZ*?BNs4l7UaL+NSba8E?OC$(DGtXzFjGV#^UN;k$HhDm_A5`q8=s_uKXDjq zER;)EEdFO~U@J(!=SYa+B0bl2JO_+33|d(LV1_DG-Z>( Iy)Z`Sv}t`6FBvQW;&S42HJI27lrHm|bSq;vOq~C-PC=e~*U5&(;2zI86=GjF zf*pYp4NUB`4$X&s6@&x}R+G?B%X=u4xJ`DaYqNmb(um$0aUbogeMflui9ti&-?ojM z)-t3*D^#(y;b!J-3(q8Z|KBzo=Wgae;~m}e(gxvV5omGymnaCc8VxiMPT7RNUhNQ% z9lxpNH ;KHnN!^oipn=D?HCFQb5P&-}=Qy0rVF(eL`mbk zboYWN+_!NxFX716jGw2}Vnd60cWagEG+dz$fX!+p>cx7Rl{Sr)(y~UoHE4Zp(H?0V zW*05mkM(U{yU60fVX FHIn%}ZO(K5Eu1YMyD5yw?SE!}Vcb0h$`jFtAMQVvZg ul zWE^R|{v0R=pYa?O=bXEe^F3`%c#f{N0%6%z2|YWfdyZ9#3a#s4#3qJu?{IO0g=?{K z*wgY%+=v3{I0HtfuTZ@U)H`Mt _{3525m9%0GOSV8X*Ew zx-Jipm{fj3nN8yS_5HgIlcZYVDzQt-ikJIQS^;ZjoOG&nGC&MHA)5w3MmralNq@Pq zf63VQ;_Nt|HFqyxT#Up;AGk`ut?91(i4AT6ZgSE}j#WkSbQ3zK;}L|JJ~%vMrzS=N zd!XoAxAq( *7 z%qd`wWkkq>Xs13=Yj5~t>$d;egLa;9$e8w&Ns;LrNPQQ(olX8w1KUSZf4upD6f`ua z{B=>f$@>j-PK)drOM-5?<-?S|A-R0~!=ws-j~7H=>%17oX>0<1i%iqXRf^EIiPHww zTccKitz3uhEZ)ssVF0$td%ZOiE=1z3#*`^*wEwv{lct#IgvHM9H8m5s*xNXLx5;&B zEcdASa2b_VWLbSj>8L@9;#OLds=);hbhcsX*%7$!}7$_u0NTiyH|L3OA0EuAFpn zV8w!-9atCr%+d9n-t1zt)EqtS2G&| 3H75p3p)(%Lk2P4O(kNmYM~qStuEO|dv}>Wk zG+cTH+Ocu%qYnBs;s45GZRad?w}X!-`4VBE+TPVQN8i7x85TKgtakXt-5st)f~GFe z;Hfi#pbtwv*|!q5b2q2w8!Uw1^_=3T(bYQ9nxxog+7NC2{l3nte`IT3T|FNM*XV7A zttWV-EwO^*m$@DzpAUpm+IEmA{lo~C{QlCpp`0kOF1h`(4gX#g#6bv1&Oqta25T&h z^Lm=N9+@zc$+(Ic1f!>LAZ}x&HR~v~es`i_HEL`k{V9zV=I6d7-lHQ2r3|vW7(vms zUaM*(E*U4@Iz6P&Gu?`v_D|!tx`>ZPIaY(xFuj3QlS8-2%z?`UHi1`|v`SWBnuozA z%|fvrh1-XF9|%wkMBb1z*F9%O3TY&-N;dO2oral@?yT?X@L}KO`ZPt4I gi?Kw6hkkrG`#0i9k_UD@ZI?}{%;*5XWt*yXbjXp@~i+3J!m-tm( zXlt&0U-V0!CC$iW;CwjFmQ&rmdKPvncUek^8{ZOVJZ(^>rDf{OcT<1g2amuy^Ozpq zLjL$=g}RNY2l^pl1hUxr8yAFumug0g;}ASe`q!2WNB&%<$_mEn(=8cBHdFp8OS<-r zi}`p}XQIr{r1}z1iMk)#yuNc)nToLHP&{4;jEXSa;Yf0WMu_;k-ojUn2huEK323X{ z?|4s3B%ifQK5PB-X+@4FlT`*!#(<&6TTzOG#Mp6Tt3OF5p?uRCI}1@_Y|(c$cr=z( z-pNTj64v3`$j(?k0`tyjMW?bfU~cLvjLn1Vxx^$wJ7`$`DwXf@JeAY1ek?lelF96d zGtv7uqI%EVO2^ZRjjI%H7Ja&a1Ip>H=#H_5+j)QO2ky1sIBsTHr0%$J#iG9f ?QBLZZo?V@5>_o42f)?f8N{uGxR&| zvJkWqcUgY?K1TL5t3zrMt9h(qJ_)Qx7XP={)Rz&faX(!vZIzsA+|5u6o|d!Zr$(1M zK!;%Js$kC7A_!hxB-+N=3~R#g+tsw`J@sufrb zDQnXGc+@G*pRa%Mb^3eUZ$5FZ8jNRl3A_e0xsaJClWsH6KTu1;RIRMG1tEZM+L&hc zc>dy+EPW-(ct`wiI6~MovH6gZF{XBg$~ksw-(8^lob%>rrFo-e7L39;Vx%$b-rFFv zh~pExf*2{C6lZtMe0bKTbKdLaq