[ << ] BACK


This site provides digital communication services and information.

Current provisions:

  - NNTP newsgroups server
  - Web-based newsgroups forum
  - Blessings seasoned with grumpy sarcasm

Planned provisions:

  - Censorship avoidance for persecuted persons
  - Anonymous communication tools
[ << ] BACK



[ << ] BACK


This system uses the Rocksolid Light NNTP server.

Peering is done only via authenticated mode reader. There is no mode stream in this implementation.

Use the PGP key the send a encrypted message to the sysop.

Wait patiently. This is a hobby project without funding.

[ << ] BACK


The forum is a web-based interface to the network news server.

View the forum at this link:


[ << ] BACK


How to Obtain Posting Privileges on this Server

Syber Shock is a genteel space for non-toxic creators who know how to discuss and debate with respect and genteel honesty.

Syber Shock was not created to build a social media dumpster or attract a million users. Most of the brain rot seen in the media and on social media is totally prohibited here. This space was created to attract real rebels and true thinkers so that they can share and discuss things that they are discovering, building, and thinking. Therefore the criteria for signing up are not an automated form but rather proof of work product. This will filter out 99% of bad actors and clowns so that you don't have to deal with them when visiting this space.

Before you continue please consider what Syber Shock is NOT:

    - a link feed
    - an image board
    - a meme board
    - a leftist echo chamber
    - a rightist echo chamber
    - a political forum
    - a nerd supremacy forum
    - a Silicon Valley cutout hangout
    - an extension of corporate or state censorship
    - a soap box
    - a pulpit

The kind of nonsense and bile and unempathetic inhumanity that comes from the current regime and its partisan parrots is not welcome here--ever. The people mentally enslaved by such rot are impossible to work with. They are always looking to exert control over someone else because they are insane.

If the last paragraph bothered you, LEAVE NOW. If you don't think that the current factions of our political and religious system are all nuts, you're not paying attention, and you will not be at home in a place of true intellectual inquiry and spiritual freedom.

If you wish to sign up for a posting account the process is manual and not automated. This will prevent almost all spam and abuse. It will also keep the quality of discussion on a professional and polite level and weed out noise.

The current qualifications categories are:

    #1: Communication Service Provider or Webmaster
    #2: Researcher With Published Papers or Preprints
    #3: Software Developer with Substantial Codebase
    #4: Research Videographer or Podcaster

Qualifications are required in one of the categories. Signup using only one category as your qualification. Scroll down to the instructions for your category.

Option #1: Communication Service Provider or Webmaster

1. You must be the owner of a fully-qualified domain name (FQDN) that has a real website or communication service, for example a NNTP server.
2. You must have a email account at that FQDN to use for posting.
3. You must upload a signup key in a text file to the root of your domain to verify your control of the FQDN.
4. The signup key file must be accessible via HTTPS with a valid SSL certificate.
5. Only one account per FQDN will be granted.
6. Free domains like Freenom Domains do not qualify.
7. Subdomains do not qualify. Only the domain root may be used to verify.

Here is how the signup will work for option #1:

1. You send sybershock.com a email with your FQDN.
2. Sybershock.com will respond with a secret text key.
3. You will upload that secret text key file to the root of your domain.
4. Sybershock.com will verify the file exists on your domain.
5. Sybershock.com will email you a link to a temporary signup page.
6. You will choose your username and password and submit the form.
7. After you get credentials you may delete the text file from your server.

Option #2: Researcher With Published Papers or Preprints

1. You must have published technical, academic, or research papers or preprints freely accessible on the Internet.
2. You must provide links to these papers.
3. You must use the email address shown in your papers to sign up.

Here is how the signup will work for option #2:

1. You send sybershock.com a email with links to your papers or ORCHiD profile. Use the email account in your published paper(s).
2. Sybershock.com will email you a link to a temporary signup page.
3. You will choose your username and password and submit the form.

Option #3: Developer with Substantial Codebase

1. You must have published substantial original source code for cryptology applications.
2. You must provide links to the source code repositories.
3. For signup you must use the email address shown in your source code version control logs.

Here is how the signup will work for option #3:

1. You send sybershock.com a email with links to your source code repositories. Use the email account in your version control logs.
2. Sybershock.com will email you a link to a temporary signup page.
3. You will choose your username and password and submit the form.

Option #4: Research Videographer or Podcaster

The same as Option #3 except your proof of work product and email address should be clearly evident in a publicly accessible site in one of your video or audio presentations.

Users signing up may choose one of these four options. To begin the process send a email to admin@sybershock.com from the email address you will use for posting credentials. It is strongly recommended that you encrypt emails using PGP or GPG. The administrator PGP public key is linked in the menu at https://sybershock.com.

Users can benefit from having network news feeds created for their work product. Network news is a threaded discussion protocol that is the original 'social network' since 1980. Only registered users who are also creators  will be able to discuss, eliminating spam and noise to keep a healthy signal to noise ratio.

Use of this site and all resources herewith is subject to the terms of service published by sybershock.com in this document. Unfortunately in our insane age of noisy nonsense these unfortunate things like terms of service and legalese are necessary to maintain good order. So yes you must read the whole document and be especially familiar with the prohibited activities.


0. Demonstrate professional work product and genteel manner.
1. No savage or creepy behavior.
2. No profanity.
3. No religious or political partisanship or recruitment.
4. Nothing illegal is allowed; no copyright infringement, warez, cracks, etc.
5. No advertising except in groups with .ads in their names, and no spam.
6. No pornography or nudity.
7. No trolling or off-topic posts. Stick to the newsgroup charter topics.
8. Excessive cross-posting is considered trolling or spamming.
8. Not reading the rest of these rules may get you moderated.
9. Sysop does not tolerate woo or nonsense.
10. Sysop does not provide an outlet for partisanship or propaganda.
11. Sysop reserves the right to maintain order in his own house.
12. Sysop reserves the right to moderate or ban for misconduct or any reason.

        *   INFORMATION         *
        *   TERMS OF SERVICE    *
        *   DMCA REQUESTS       *

        (website)    https://sybershock.com
        (abuse)      admin@sybershock.com

Welcome to the sybershock.com news forums. This document contains a description of the service with the rules and terms of service. All users are required to read this document in its entirety and be bound by the terms of service.

For DMCA requests contact admin@sybershock.com. The requestor must provide proof of identity and proof that the requestor holds a valid copyright of the claimed content for the administrator to take any action. Do not make a DMCA request without proper authority, identification, and proof of a valid claim. Malicious DMCA claims constitute felony fraud on the part of the claimant. Sysop knows that trick and will report it to law enforcement.

These forums operate via the 'network news' protocol. Some of the groups are private to this server only. Some groups are shared with other servers. Some select Usenet groups are carried by this server. Each user must familiarize himself with each group and its local rules and customs before posting therein.

Users may post using the web forum interface or a news reader client. Read this terms of service document to the end before posting.

Teams working on a project may request a new local newsgroup with substantial proof of the project. Due to spam on the public Usenet hierarchies, the administrator will ignore requests to mirror unmoderated Usenet groups.

The topics for the local news groups include:

    * biblical textual criticism
    * computer-aided preservation of biblical text
    * bible translation
    * bible software
    * bible research papers
    * biblical languages
    * biblical eschatology
    * biblical symbolism
    * philology
    * etymology
    * ancient and classical linguistics
    * constructed languages (non-secret with full vocabulary only)
    * ancient oriental idiom
    * archaeology (especially ancient oriental)
    * ancient astronomy
    * ancient calendars
    * cryptography
    * primitives
    * novel cryptosystems
    * cryptology tools
    * cryptology source codes
    * hand and field ciphers
    * randomness
    * mixnets
    * secure communications
    * anonymous communications
    * non-blockchain payment systems
    * novel cryptocurrency primitives
    * cryptology papers
    * preprints
    * programming
    * computers
    * essays
    * poetry
    * critique
    * technology
    * books and book reviews
    * education
    * art
    * philosophy
    * riddles, fables, myths, parables, paradoxes, oxymorons
    * political and economic theory (generalist, *not* partisanship)
    * money and monetary systems

Topics that are not appropriate for this server include:

    * partisan recruitment or proselyting
    * religious recruitment or proselyting
    * advertising a business or enterprise


0. All users are bound by the rules.

The users of this server or any service or item provided by sybershock.com shall be bound by this terms of service and user agreement and all rules therein. By using the service or visiting the site all users automatically agree to abide by these terms. Persons not wishing to agree to these terms must immediately leave the site and must refrain from any and all use of the service. Use of the service constitutes agreement to these terms in their entirety.

1. Communication must be in the English language.

Except for groups devoted to studying classical or ancient languages, or user-created constructed languages with a published grammar of all vocabulary, all posts must be written in English. Sysop will not spend time parsing foreign language posts for illegal or offensive content. Instead such posts will be deleted without comment.

2. The purpose of the service and guiding principles.

This server is provided for communication and collaboration in a 'syber' and genteel spirit. It is not a image board or frog chan. Show respect and patience for other users. The purpose of the service is to provide a space for sharing and discussing creative work product.

3. Due diligence is required of users before posting or uploading.

Before posting in a group or forum take some time to observe the expected content and rules and culture of that group. Posts outside the subject matter and spirit of a group may eventually be removed to a general group or deleted from the server. Observe your millieu and use common sense and good judgment before posting.

4. Bad behaviors common elsewhere are forbidden here.

When posting or uploading, all users of the service are PROHIBITED from the acts listed here:

    - posting links without a clear synopsis (posts must CLEARLY describe the content)
    - representing any 3rd party or entity (you must represent only yourself)
    - copypasta: copying and pasting 3rd party articles
    - proselyting converts for political or religious organizations
    - espionage (government, corporate, criminal, or otherwise)
    - war propaganda
    - gray or black propaganda of any kind
    - nymshifting (users MUST post with the name they signed up with)
    - threatening, annoying, anti-social, or abusive behavior
    - profanity, potty mouth, trucker talk, sailor slang, etc.
    - threats
    - harassment
    - intimidation
    - cyber-stalking
    - doxing
    - trolling
    - racial slurs
    - sexual slurs
    - cat-calling
    - name-calling
    - race-baiting
    - woke supremacism
    - trans supremacism
    - sexual or romantic grooming
    - taunting, trading insults or disrespectful 'one-upping'
    - sex talk, lewd innuendoes, filthy jokes
    - scatology
    - social justice war-mongering
    - virtue signalling
    - dog whistling rhetoric
    - purity spiralling or ideological purity tests
    - INCEL pultroonery
    - sigma male pultroonery
    - MGTOW pultroonery
    - lewdness or lurid content
    - pronoun and gender dysphoria nonsense
    - pornography, nudity
    - gore and gratuitous violence
    - illegal acts
    - vile, hateful, or prurient posts
    - matter that is vile and shocking to the conscience
    - remote code exploits
    - plagiarism
    - copyright infringement
    - software piracy
    - media piracy
    - posting multi-part binaries or NZB files
    - forum sliding
    - inappropriate or spammy cross-posting
    - slandering and defaming other users
    - whisper campaigns against other users
    - false accusations agains other users
    - spam
    - bots or botnets
    - flooding or denial of service attacks
    - posting execuable files (ELF or PE binaries)
    - posting content not authored by the user making the post
    - propagandist polarization tactics

5. Profanity is not permitted in genteel, public discussion.

If you want to sit around a campfire and swear up a drunken storm with your fellows that is your right. Yet to come into a public house and play the vocabulary-challenged savage is not any man's right. Incoming messages that contain profanity will be moderated by the administrator. Repeat offenders will be banned to protect the ladies and gentlemen from dealing with too much nonsense.

The art of salon, or genteel conversation has been decimated on much of the web. Salon and gentility are expected here. Please do not treat this server like a rage outlet. Use your brain to form complete and grammatically sound sentences. Always communicate in a lucid and professional tone.

6. Publishing third-party works is prohibited.

Attaching *original* documents, diagrams, and source code for discussion is acceptable use. Any user attaching PDF, postscript, CSV, image or text files to a message must be the original author of the file. Do not upload or post documents authored by a third party. Just don't *ever* do that. Link to your content, your website, your code repository, your documents that you own and have the rights to. If sysop ever gets a valid DMCA complaint over shared content it may be necessary to moderate or ban the offending user.

7. Script kiddes and uploading binaries or executables are prohibited.

Attempting to post multi-part binaries or NZB files to share large files is absolutely prohibited. Violators will be immediately banned.

Any attempt to upload malicous scripts or binaries will be reported to law enforcement.

8. Your posts are a reference work and should be concisely trimmed.

When posting, ALWAYS TRIM YOUR POSTS! Remove all unnecessary text from quoted replies. This is mandatory. Read one more time: TRIM. YOUR. POSTS. Messy posts may be deleted by sysop.

9. Top posting is never appropriate.

Do not top post. Reply inline and below quoted matter that is properly trimmed.

10. Followup is required to close matters.

If you start a troubleshooting thread and the problem gets resolved be sure to post a followup with '[SOLVED]' prefixed to the subject line explaining how the problem was solved.

11. Whatever is happening in the rest of the world can stay there.

This is not a social media dumpster. Please do not treat it that way.

This service is not provided as a spam drop for links to third party news articles. Post about *your* creative content in the appropriate groups. Post about you, your work, your ideas, your inventions, your art work, your source codes, your diagrams, your papers, your writings. Do not post links to the works of others. Such posts may be deleted and marked as spam. Invite them to come here and post instead.

12. Observe group-specific charters and rules.

Some groups may end up with their own specific rules about post length, attachments, and subject matter. Observe the rules for local newsgroups. They will be posted in the groups and on the web site. Either the sysop or group operator may moderate off-topic posts.

13. Do not feed disruption artists or energy vampires.

If a user is attempting to disrupt do not discuss the disruption in the groups. Instead send a complaint to the administrator email address. Offensive posts will eventually be removed and serial violators will be banned from posting. Always ignore anyone attempting to disrupt and let the administrator handle it. You will not improve the situation by responding to disruptive behavior. Filters and killfiles are also useful.

14. Report unlawful or shocking content to the administrator.

If you find any content that violates these rules please report it to the administrator email address: admin@sybershock.com. Keep in mind that because this is a free service that the administrator cannot monitor this service 24/7. So it might take a bit of time to receive and process abuse complaints.

15. The terms of service are not the decalogue, so they may change.

The administrator reserves the right to change these terms of service and rules at any time and post notice of the same on the web site or in the news groups.

16. Users are not invested with any guarantees or warranties.

The administrator reserves the right to cancel any user service at any time for any reason without recourse. The provision of this service is not a guarantee of future availability. This service is provided 'as is' without any warranty of merchantability or fitness for any purpose.

17. The service provider is not liable for any harm incurred by a user.

By using this service the user agrees to hold the administrator harmless for any loss, damage, harm real or imaginary. The administrator disclaims all liability of any kind for any thing arising out of the use of the service.

18. The service provider is held harmless and immune from suit.

At no time will use of the service, or denial of use, be cause for tort, harm, claim, or suit against the service provider. The user agrees to hold the service provider harmless and immune from all legal action, suit, or litigation.


This terms of service is published under the 'Whatever is Clever' public license. Anyone may adapt it for their own use on their own services.

                            WHATEVER IS CLEVER
                              PUBLIC LICENSE


           Do whatever is clever. Do as you wish with this product.

             Do whatever is clever shall be the whole of the law.

[ << ] BACK

This is a list of free providers of Usenet server access. Several carry groups in French, German, Spanish, Polish, and Russian. If you know of any that should be added to the list please email the admin of this site.

# General Usenet Servers (BIG8 & alt.* hierarchies)

I2PN2               |>    https://i2pn2.org (full text feed)
NovaBBS             |>    https://novabbs.org (darknet text feed)
Eternal September   |>    https://www.eternal-september.org (full text feed)
Blue World Hosting  |>    https://usenet.blueworldhosting.com (full text feed)
Solani              |>    https://solani.org
DOTSRC              |>    https://dotsrc.org/usenet/
Agency News         |>    http://www.news.bbs.nz
Chmurka             |>    http://news.chmurka.net (Polish language)
Ausics              |>    https://newsgroups.ausics.net/ (Australia Only)     
CSIPH               |>    http://csiph.com (full text feed)
Paganini            |>    nntp://paganini.bofh.team (full text feed)
Gegeweb             |>    https://news.gegeweb.org (French language)
Hispagatos          |>    https://news.hispagatos.org (Spanish language)
Pasdenom            |>    https://pasdenom.info/news.html (French language)
usenet.ovh          |>    http://usenet.ovh (French language)
NNTP4 / FreeDyn     |>    https://news.nntp4.net (closed down on December 8th, 2023!)

# TOR / ONION Access

Paganini Onion       |>        bofhteamhroxbmd6pxbjrg6egqrnnu2vj7vlxpcnb3ypk56devuyj6yd.onion

# Usenet-to-Fidonet Gateway

fidonet.fi          |>    https://news.fidonet.fi/ (fidonet gateway)

# List of Usenet Providers in German-speaking Countries

|>     Thomas Hochstein (Original German)
|>     Thomas Hochstein (English Translation)
|>     Thomas Hochstein (French Translation)
|>     Thomas Hochstein (Polish Translation)

# Another Large List of Usenet Providers

|>     Francophone Usenet (Original French)
|>     Francophone Usenet (English Translation)
|>     Francophone Usenet (Polish Translation)
|>     Francophone Usenet (German Translation)

# Russian NNTP Servers

|>     news.kraft-s.ru  [port] 119
|>     news.tlt.ru      [port] 119
|>     news.tambov.ru   [port] 119

# Tildeverse NNTP (tilde.* hierarchy groups)

tilde.club          |>     https://tilde.club/wiki/usenet-news.html


End of the Line BBS     |>    https://endofthelinebbs.com

# RSS ==> NNTP Gateways

Feedbase     |>     http://feedbase.org
Gwene        |>     http://gwene.org
Gmane        |>     http://gmane.io

# Old Usenet Archive Servers

Old Usenet   |>     https://olduse.net
                                                   +oooooooooooooooooooooooooooooooooooooooooooooooooo:                                                  .ooooooooooooooooooooooooooooooooooooooooooooooooooo                                                   
                                                   +oooooooooooooooooooooooooooooooooooooooooooooooooo.                                                  :oooooooooooooooooooooooooooooooooooooooooooooooooo+                                                   
     :+::+:+++:::++::+:+++:::++::+:+++:::++::+.    +oooo:.....:...:.:.....::....:.:...:.....:.:..+oooo.    :++:::++::+:+++::+::::+.                      :oooo+.....:.....::....:.:...:.....:.....::...:oooo+    .:+:+:+++:::++::+:+++:::++::+:+++::+::::+:     
    .ooooooooooooooooooooooooooooooooooooooooo.    +ooo+.                                        :oooo:    +oooooooooooooooooooooo+                      .oooo.                                         oooo+    :ooooooooooooooooooooooooooooooooooooooooo.    
    .oooooooooo+ooooooooo+ooo+ooooooooo++ooooo.    +oooo      .        .                  .      .oooo:    +ooooooooooooo+oooooooo+                      .oooo:                                .       .oooo+    .ooooo+o+ooo+ooooooooo+ooooooooo+ooooooooo.    
     ooooo.   .         .   .         . .+oooo:    +ooo+     :+ooooooooooo     :oooooooo+oo+.    .oooo.    +oooo:       .    :ooooo::++:::+::+::+:++:    :oooo.    .oooooooooooooooooooooooooooooo:     oooo+    :oooo+..   .         .         .    .ooooo.    
    .oooo+.                              ooooo:    +oooo     +oooooooooooo     :oooooooooooo.    :oooo:    +oooo:            +oooooooooooooooooooooo+    .oooo.    .oooooooooooooooooooooooooooooo+     +ooo+    :oooo+                              .ooooo     
    .ooooo                               ooooo.    +oooo.    +oooooooooooo.    :oooooooooooo.    .oooo:    ooooo:            :oo+oo+o+oooo+ooooooooo+    :oooo:    .oooooooooooooooooooooooooooooo:     oooo+    :ooooo                               ooooo.    
    .ooooo.            ::+:::+:::::+::::+ooooo:    +ooo+     +oooooooooooo.    :oooooooooooo.    .oooo.    +oooo:                 .   .  .    .:oooo+    .oooo:    .oooooooooooo+:.:.:oooooooooooo+     oooo+    .oooo+             ::+::             ooooo     
    .ooooo             ooooooooooooooooooooooo:    +oooo     :oooooooooooo     :oooooooooooo.    :oooo:    +oooo:                              :oooo+    :oooo.    .oooooooooooo:    .oooooooooooo:     +ooo+    .ooooo            .ooooo             ooooo.    
    .oooo+             +ooooooo+oooooooooooooo.    +oooo     +oooooooooooo.    :oooooooooooo.    .oooo:    +oooo:                              :oooo+    :oooo.    .oooooooooooo:    .oooooooooooo+    .oooo+    :ooooo            .ooooo.           .ooooo.    
     ooooo.            ..   . .  .   .   ooooo:    +ooo+.    +oooooooooooo+o+ooooooooooooooo.    :oooo.    +oooo:            ::+::.            :oooo+    .oooo.    .oooooooooooooo+o+ooooooooooooo:     +ooo+    :ooooo            .ooooo             ooooo.    
    .ooooo.                              ooooo.    +oooo     +ooooooooooooooooooooooooooooooo.   .oooo:    +oooo:            :oooo+            :oooo+    :oooo:    .oooooooooooooooooooooooooooooo+     oooo+    .ooooo            .oooo+             ooooo.    
     ooooo                               +oooo:    +oooo     :oooooooooooooooooooooooooooooo.    .oooo.    +oooo:            +oooo:            :oooo+    :oooo.    .oooooooooooooooooooooooooooooo+     oooo+    .oooo+            .ooooo.           .ooooo     
    .ooooo+::+::+::+:::++:::             +oooo:    +ooo+     .:..::.:..::.:..:.+oooooooooooo.    :oooo.    +oooo:            :oooo+            :oooo+    .oooo:    :oooooooooooo+.:.::..::..::..:..     +ooo+    :ooooo            .ooooo:::::+::+:::+ooooo.    
    .ooooooooooooooooooooooo.            ooooo:    +oooo.                      :oooooooooooo.    :oooo:   .ooooo:            +oooo+            :oooo+    :oooo.    ooooooooooooo:                       oooo+    :oooo+            .ooooooooooooooooooooooo.    
    .ooooooo+oo+ooo+ooooo+oo.            +oooo.    +oooo                       :oooooooooooo.    .oooo:    +oooo:            :o++o:            :oooo+    .oooo:    .oooooooooooo:                       +ooo+    .ooooo            .oooooooooooooo+oo+ooooo.    
    .ooooo.   .   .     .                ooooo:    +oooo     :oo+ooooo+ooo+ooooooooooooooooo.    .oooo.    +oooo:             .  .             :oooo+    :oooo.    .ooooooooooooo+ooo+ooo+ooo+oo+o:     oooo+    :ooooo            .ooooo.       .  .           
     ooooo.                             .+oooo:    +ooo+.    :oooooooooooooooooooooooooooooo.    :oooo:    +oooo:                              :oooo+    :oooo.    .oooooooooooooooooooooooooooooo+     oooo+    :oooo+            .oooo+                       
    .ooooo                               +oooo.    +oooo     +oooooooooooooooooooooooooooooo.    .oooo.    +oooo:                              :oooo+    .oooo.    .oooooooooooooooooooooooooooooo+    .oooo+    .ooooo            .ooooo.                      
    .ooooo:::::::::::::::::::::::::::::::ooooo:    +ooo+     .:.:.::.:::::::.::.::::::.:::.:     :oooo:    +oooo+::::::::::::::::::::::::::::::+oooo+    .oooo:     .::::::.:::.::::::.::::.::.:::.     +ooo+    .ooooo::::::::::::+ooooo.                      
    .ooooooooooooooooooooooooooooooooooooooooo:    +oooo                                         :oooo.    +oooooooooooooooooooooooooooooooooooooooo+    :oooo.                                         oooo+    .oooooooooooooooooooooo+                       
    .ooooooooooooooooooooooooooooooooooooooooo.    +oooo.                                        :oooo:    +oooooooooooooooooooooooooooooooooooooooo+    .oooo:                                        .oooo+    .oo+ooooooooooo+oooooooo                       
     .  .  . ..  . . . ..  . ..  . . . . . . .     +oooo++o+++o+o++++o+++o++++o+++o+++o++o++++o+++oooo.     . .  . . . ..  . ..  . . . . . .. . ::..     :ooooo+o+++o+++o+o+++o++o++++o+++o+++o+++++o+++oooo+     . ... .  . .. ...  . .                        
                                                   +oooooooooooooooooooooooooooooooooooooooooooooooooo.                                                  .oooooooooooooooooooooooooooooooooooooooooooooooooo+                                                   
ooooooooooooooooooooooooooooooooooooooooooooooooooo.                                                  +oooooooooooooooooooooooooooooooooooooooooooooooooo+                                                   ooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooo+o+o+++++o+o+++++o+o+++++o+++o+o++++++o++ooooo.    . . .. .. . . .  . . ..                       :oooo+++o+o+++++o+o+++++o+++o+o+++++o+++o+++++ooooo:     .. . . .  . . .. . .  . .. . . .  . .. .     .ooooo++++o+o+++++o++++oo+++oooooooooooooooooooooooo
ooooo                                         +oooo.    oooooo+oooooooooooooooo.                      :oooo                                         .oooo:    :oooooooooooooooooooooooooooooooooooooooo+    .oooo:                      .+oooooooooooooooooooooo
oooo+                                         :oooo.    ooooooooooooooooooooooo:                      +oooo.                                         oooo:    :ooooooooooooooooooooooooooooooooooooooooo     oooo+                       +oooooooooooooooooooooo
oooo+     .::::::::::::::::::::::::::::::     :oooo     +oooo:::::::::::::ooooo:.  . ..  . .. ...     :oooo.    .::::::::::::::::::::::::::::::.    .oooo+    :ooooo::::::::::::::::::::::::::::::+ooooo.   .oooo:     .:::::::::::.     ++o+++o++o+o+++o++ooooo
oooo+     ooooooooooooooooooooooooooooooo     :oooo.    ooooo.            +oooooooooooooooooooooo:    :oooo.    :oooooooooooooooooooooooooooooo:    .oooo:    +oooo:                              .oooo+    .oooo:    .oooooooooooo+                       ooooo
oooo+     ooooooooooooooooooooooooooooooo.    +oooo.    ooooo.            +oooooooooooooooooooooo:    +oooo.    oooooooooooooooooooooooooooooooo    .oooo:    :oooo+                              .ooooo    .oooo:     oooooooooooo+                       +oooo
oooo+     +ooooooooooooo++oo+o+o+o+oo++o+     :oooo.    ooooo.            ::::::::::::::::::ooooo:    :oooo.    +ooooooooooooo+o+oooooooooooooo:     oooo:    :oooo+               ..             .ooooo     oooo:    .oooooooooooo+     ::::::::::::.     +oooo
oooo+     +ooooooooooo+                       :oooo    .ooooo.                              :oooo+    :oooo     :oooooooooooo.    .oooooooooooo:    .oooo:    +oooo+            :oooo+            .oooo+.   .oooo:     oooooooooooo+     oooooooooooo+     +oooo
oooo+     ooooooooooooo                       :oooo.    ooooo.                              +oooo:    +oooo.    :oooooooooooo.    .oooooooooooo:    .oooo:    :oooo+            .oooo+            .ooooo    .oooo+     oooooooooooo+     +oooooooooooo     +oooo
oooo+     ooooooooooooo::::.:::.::::::.:.     :oooo.    ooooo.             . .              +oooo:    :oooo     :oooooooooooo.    .oooooooooooo:     oooo+    :oooo+            :oooo+            .ooooo    .oooo:    .oooooooooooo+:.:.:oooooooo+o+o:     +oooo
oooo+     ooooooooooooooooooooooooooooooo.    +oooo    .ooooo.            +oooo:            +oooo+    :oooo.    :oooooooooooo.    .oooooooooooo:    .oooo:    +oooo:            :oooo+            .ooooo.   .oooo:     ooooooooooooooooooooooooo           +oooo
oooo+     +oooooooooooooooooooooooooooooo     :oooo.    +oooo.            +oooo.            +oooo:    :oooo.    :oooooooooooo.    .oooooooooooo:    .oooo:    :oooo+            :ooooo            .ooooo     oooo:    +oooooooooooooooooooooooo+           +oooo
oooo+     ++o++o+ooo+o++o++oooooooooooooo     +oooo.    ooooo.            +oooo:            :oooo:    +oooo     :oooooooooooo.    .oooooooooooo:     oooo+    :oooo+            :oooo+.. . . . . ..ooooo    .oooo:    .oooooooooooooo++ooooooooo:::.:.     ooooo
ooooo                       +oooooooooooo.    :oooo.   .ooooo.            +oooo:            +oooo+    :oooo     :oooooooooooo:    .ooooooooooooo    .oooo:    +oooo+            .ooooooooooooooooooooooo    .oooo+     ooooooooooooo    .+ooooooooooo+     +oooo
ooooo                       +oooooooooooo     :oooo.    +oooo.            +oooo.            +oooo:    :oooo.    :oooooooooooo.    .oooooooooooo:     oooo:    :oooo+            :ooooooooooooooooooooooo.    oooo:     oooooooooooo+     ooooooooooooo     +oooo
oooo+     .::::::::.::::::.:ooooooooooooo.    :oooo     ooooo.            ooooo:            +oooo:    +oooo.    :oooooooooooo+.::.+oooooooooooo:    .oooo+    :oooo+            .:::::::::::::::::+oooo+    .oooo+    .oooooooooooo+     +oooooooooooo     +oooo
oooo+     +oooooooooooooooooooooooooooooo     :oooo.   .ooooo.            +oooo:            +oooo+    :oooo     :oooooooooooooooooooooooooooooo:    .oooo:    +oooo:                              .ooooo    .oooo:     oooooooooooo:     oooooooooooo+     +oooo
oooo+     oooooooooooooooooooooooooooooo+     +oooo.    ooooo.            +oooo:            +oooo:    :oooo.    :oooooooooooooooooooooooooooooo:    .oooo:    :oooo+                              .ooooo    .oooo:     oooooooooooo+    .+ooooooooooo+     +oooo
oooo+     :oo+ooo+o+o++oooo+o+ooooooo+oo+.    :oooo     ooooo.. .  . .  . ooooo+.   . . .   +oooo:    :oooo.    :+o+ooooooo+o+ooo++oo++oo+ooooo.    .oooo+    :oooo+.  . .   .. .  . .   ..   .   :ooooo.   .oooo:    .+ooo+o+oooo++     +ooo+oooo+oo+     +oooo
oooo+              .                          :oooo.    ooooooo+o+ooooooooooooooo+ooooo+o+ooooooo+    +oooo        .            .    .              .oooo:    +oooooo+ooooooooo+o+ooooooooo+ooooooooooo+    .oooo:                                         +oooo
oooo+                                         :oooo.    ooooooooooooooooooooooooooooooooooooooooo:    :oooo.                                         oooo:    :ooooooooooooooooooooooooooooooooooooooooo     oooo+                                         ooooo
ooooo::...:.:..::...:.:..:..:.:..:.:...:.:.:..+oooo.    ::::+::+::+::+::+::+::+:::+:::+:::+:::+:+.    :oooo+.:..:...:.:...:.:..:..:..:..:.:..:.:..:.:oooo:    .:+:::+::+::+::+::+:::+::+::+::+::::+:::+:    .oooo+.:..:.:...::..:..:..:..:.:..:.:.:.:..:..:ooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooo                                                   :oooooooooooooooooooooooooooooooooooooooooooooooooo+                                                   ooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooo.                                                  :oooooooooooooooooooooooooooooooooooooooooooooooooo:                                                  .ooooooooooooooooooooooooooooooooooooooooooooooooooo