Compare commits
5 Commits
alternativ
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
762e3549df | ||
|
235bf577f6 | ||
|
759132a207 | ||
|
fb06ad7ae7 | ||
698bf8325b |
15
cv.adoc
15
cv.adoc
@ -1,4 +1,4 @@
|
|||||||
= Curriculum Vitae
|
= Brent Saner | Curriculum Vitae
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
endif::[]
|
endif::[]
|
||||||
@ -11,21 +11,26 @@ Last updated {localdatetime}
|
|||||||
:imagesdir: images
|
:imagesdir: images
|
||||||
:sectlinks:
|
:sectlinks:
|
||||||
ifeval::["{doctype}" != "article"]
|
ifeval::["{doctype}" != "article"]
|
||||||
|
ifeval::["{filetype}" != "pdf"]
|
||||||
:toc: preamble
|
:toc: preamble
|
||||||
:toc2: left
|
:toc2: left
|
||||||
endif::[]
|
endif::[]
|
||||||
|
endif::[]
|
||||||
:idprefix:
|
:idprefix:
|
||||||
:toclevels: 7
|
:toclevels: 7
|
||||||
:source-highlighter: highlightjs
|
:source-highlighter: highlightjs
|
||||||
|
:ftype: cv
|
||||||
|
:ftypef: CV
|
||||||
|
:techexp: cv.adoc[]#technical_experience
|
||||||
|
//:techexp: #technical_experience
|
||||||
|
|
||||||
|
//include::includes/header.adoc[]
|
||||||
|
|
||||||
include::includes/intro.adoc[]
|
include::includes/intro.adoc[]
|
||||||
(If you are looking for my résumé instead, which is much more succinct, that can be found <<resume.adoc#, here>>.)
|
(If you are looking for my résumé instead, which is much more succinct, that can be found <<resume.adoc#, here>>.)
|
||||||
|
|
||||||
include::includes/values.adoc[]
|
include::includes/values.adoc[]
|
||||||
|
|
||||||
include::includes/accomplish.adoc[]
|
|
||||||
|
|
||||||
include::includes/skills.adoc[]
|
include::includes/skills.adoc[]
|
||||||
|
|
||||||
include::includes/exp.adoc[]
|
include::includes/exp.adoc[]
|
||||||
@ -34,8 +39,8 @@ include::includes/exp2.adoc[]
|
|||||||
|
|
||||||
include::includes/samples.adoc[]
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
|
include::includes/personal.adoc[]
|
||||||
|
|
||||||
include::includes/refs.adoc[]
|
include::includes/refs.adoc[]
|
||||||
|
|
||||||
include::includes/contact.adoc[]
|
|
||||||
|
|
||||||
include::includes/lastupdate.adoc[]
|
include::includes/lastupdate.adoc[]
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
== Professional Accomplishments
|
|
||||||
|
|
||||||
I have some milestones I'm particularly proud of.
|
|
||||||
|
|
||||||
For clients and companies past and present, I have...
|
|
||||||
|
|
||||||
* Consolidated server count from 1500+ to ~750 in underutilized clusters
|
|
||||||
* Reduced infrastructure costs by ~75%
|
|
||||||
* Redesigned several platforms for GDPR compliance
|
|
||||||
* Designed a SSO (Single Sign-On) backend/architecture for customers
|
|
||||||
* Re-architectured an authentication scheme for a global service to use central authentication (with bandwidth accounting)
|
|
10
includes/comm.involv.adoc
Normal file
10
includes/comm.involv.adoc
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
=== Community Involvement
|
||||||
|
|
||||||
|
* Hosts and runs a Systems Operations podcast, https://sysadministrivia.com[Sysadministrivia^], for 6 years ongoing
|
||||||
|
** Maintains accompanying community of other IT professionals
|
||||||
|
|
||||||
|
* Engineered, maintained NOC and designed firmware for a community/volunteer-driven city-wide WiFi project (Project.Phree) for 1 year (now defunct)
|
||||||
|
|
||||||
|
* Have volunteered for/participated in and raised funds for the https://www.extra-life.org/[Extra Life] children's health charity in 2013, 2015, 2016, 2017, and 2020.
|
||||||
|
|
||||||
|
* Have volunteed Systems Support for the https://tasgiving.org/[2020 TASGiving^] charity event (benefiting https://www.nami.org/Home[NAMI^])
|
@ -5,7 +5,5 @@ You can reach me via:
|
|||||||
. mailto:bts@square-r00t.net?subject=Resume/CV&body=I%20was%20reading%20your%20CV%20and...[Email]
|
. mailto:bts@square-r00t.net?subject=Resume/CV&body=I%20was%20reading%20your%20CV%20and...[Email]
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
. link:tel:+15043381513[Telephone] via *+1 (504) 338-1513* (US)
|
. link:tel:+15043381513[Telephone] via *+1 (504) 338-1513* (US)
|
||||||
.. Please be sure to leave a voicemail if I don't pick up; while I love the wilds of Pennsylvania, they unfortunately do
|
|
||||||
cause issues with reception sometimes.
|
|
||||||
endif::[]
|
endif::[]
|
||||||
. https://www.linkedin.com/in/brentsaner/[LinkedIn^] _(not frequently used)_
|
. https://www.linkedin.com/in/brentsaner/[LinkedIn^] _(not frequently used)_
|
||||||
|
@ -46,6 +46,7 @@ technologies as well.
|
|||||||
* Scripting _(Intermediate to Advanced)_
|
* Scripting _(Intermediate to Advanced)_
|
||||||
** Bash _(Intermediate)_
|
** Bash _(Intermediate)_
|
||||||
** Python _(Intermediate to Advanced)_
|
** Python _(Intermediate to Advanced)_
|
||||||
|
** Golang _(Beginner to Intermediate)_
|
||||||
* Linux _(Advanced)_
|
* Linux _(Advanced)_
|
||||||
** CentOS/Red Hat _(Advanced)_
|
** CentOS/Red Hat _(Advanced)_
|
||||||
** Debian _(Intermediate to Advanced)_
|
** Debian _(Intermediate to Advanced)_
|
||||||
@ -102,3 +103,12 @@ technologies as well.
|
|||||||
*** Traffic flow, policies, other concepts _(Advanced)_
|
*** Traffic flow, policies, other concepts _(Advanced)_
|
||||||
*** netfilter/iptables _(Intermediate)_
|
*** netfilter/iptables _(Intermediate)_
|
||||||
*** netfilter/ip6tables _(Intermediate)_
|
*** netfilter/ip6tables _(Intermediate)_
|
||||||
|
* Documentation
|
||||||
|
** MediaWiki _(Intermediate)_
|
||||||
|
** AsciiDoc/AsciiDoctor _(Intermediate to Advanced)_
|
||||||
|
** Markup _(Advanced)_
|
||||||
|
* Data
|
||||||
|
** XML (and XML Schema) _(Intermediate to Advanced)_
|
||||||
|
** JSON _(Advanced)_
|
||||||
|
** YAML _(Advanced)_
|
||||||
|
** INI _(Avanced)_
|
||||||
|
@ -1,12 +1,30 @@
|
|||||||
== Professional Experience Highlights
|
== Professional Experience Highlights
|
||||||
|
|
||||||
* Systems Administrator, then Systems Engineer, for https://getfoxyproxy.org/[Foxyproxy^] as a consultant/independent
|
* https://getfoxyproxy.org/[Foxyproxy^] (Contractor; Linux Systems Administrator, Linux Systems Engineer) (Fully Remote), *_March 2014_ to _present_ (6.5+ years)*
|
||||||
contractor since March 2014
|
** Consolidated customer-facing server count from 1500+ to ~750 in underutilized clusters
|
||||||
* NOC engineer for a community/volunteer-driven city-wide WiFi project, Project.Phree for 1 year (now
|
** Reduced infrastructure costs by ~75%
|
||||||
defunct)
|
** Redesigned several platforms for GDPR compliance
|
||||||
* Support Representative, Support Supervisor, then Systems Administrator with
|
** Designed a SSO (Single Sign-On) backend/architecture for customers
|
||||||
https://asmallorange.com/[A Small Orange^] for 2.5 years
|
** Re-architectured an authentication scheme for a global service to use centralized authentication with bandwidth accounting
|
||||||
* Hardware diagnostician for
|
|
||||||
https://www.linkedin.com/company/barrister-global-services-network/[Barrister Global Services Network^] for 1 year
|
|
||||||
* Linux Systems Administrator for http://www.tektonic.net/[Tektonic^] for 1.5 years
|
* https://asmallorange.com/[A Small Orange^] (Support Representative, Support Supervisor, Linux Systems Administrator) (Fully Remote), *_September 2011_ to _Feb 2014_ (~2.5 years)*
|
||||||
* Support Technician and NOC Admin for https://www.acetechgroup.com/[ACE Technology Group^] for 1.5 years
|
** Redesigned PXE for dedicated server network:
|
||||||
|
*** Expanding operating system diversity
|
||||||
|
*** Implementing low-level hardware diagnostics
|
||||||
|
*** improving existing install options
|
||||||
|
*** Increasing service stability
|
||||||
|
** Proposed and deployed live phone customer support via SIP leading to increased responsiveness to customer requests
|
||||||
|
|
||||||
|
|
||||||
|
* https://www.linkedin.com/company/barrister-global-services-network/[Barrister Global Services Network^] (Hardware diagnostician), *_August 2010_ to _September 2011_ (~1 year)*
|
||||||
|
** Redesigned flow of call handling, allowing to handle an increased ~200% resolution volume in faster timeframes
|
||||||
|
** Created bootable ISO for field technicians to quickly diagnose issues and report results to triage
|
||||||
|
|
||||||
|
* http://www.tektonic.net/[Tektonic^] (Linux Systems Administrator), *_June 2008_ to _October 2009_ (~1.3 years)*
|
||||||
|
** Managed, maintained, installed ~1000 OpenVZ and Virtuozzo containers
|
||||||
|
|
||||||
|
* https://www.acetechgroup.com/[ACE Technology Group^] (Support Technician, NOC Admin) *_August 2007_ to _November 2008_ (1.25 years)*
|
||||||
|
** Remotely supported ~150 offices
|
||||||
|
** Maintained in-house VoIP system (Asterisk)
|
||||||
|
** Maintained OpenVPN bridge between NOC and client offices
|
9
includes/header.adoc
Normal file
9
includes/header.adoc
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
[.center]
|
||||||
|
ifeval::["{filetype}" == "pdf"]
|
||||||
|
mailto:bts@square-r00t.net[bts@square-r00t.net,About your {ftypef}...] | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
|
endif::[]
|
||||||
|
ifeval::["{filetype}" != "pdf"]
|
||||||
|
mailto:bts@square-r00t.net[bts@square-r00t.net,About your {ftypef}...] | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
|
endif::[]
|
||||||
|
|
24
includes/hobbies.adoc
Normal file
24
includes/hobbies.adoc
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
=== Hobbies
|
||||||
|
|
||||||
|
////
|
||||||
|
[quote, Ralph Wiggum, The Simpsons (Season 4 Episode 15)]
|
||||||
|
So... Do you like... stuff?
|
||||||
|
////
|
||||||
|
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
|
_A list of interests and hobbies (*outside* of technology) in no particular order, should it make sifting through {ftypef}s more amusing for you._
|
||||||
|
endif::[]
|
||||||
|
|
||||||
|
* Music
|
||||||
|
** I'm all over the place with genres I listen to. Ask me about a major genre and I'll probably at least have one piece of work in it that I'm fond of.
|
||||||
|
** Playing instruments:
|
||||||
|
*** Banjo
|
||||||
|
*** Didgeridoo
|
||||||
|
* Reading
|
||||||
|
** Favourites include Horror/surrealism (Robert Shea, Marc Laidlaw) and sci-fi (Ray Bradbury)
|
||||||
|
* Games
|
||||||
|
** The classic PC FPSes: Unreal, Half-Life, Doom, Quake, etc. (Am I old?)
|
||||||
|
** The occasional tabletop RPG (Call of Cthulhu, Risus)
|
||||||
|
* Film
|
||||||
|
** Horror. The cheesier the better.
|
||||||
|
** Similarly, MST3K
|
@ -3,6 +3,7 @@
|
|||||||
Hello! My name is Brent Saner, and I have a passion for technology.
|
Hello! My name is Brent Saner, and I have a passion for technology.
|
||||||
I don't mean I enjoy playing with the latest gadgets, I mean a *passion*.
|
I don't mean I enjoy playing with the latest gadgets, I mean a *passion*.
|
||||||
|
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
I read RFCs and man pages for fun (so much so that
|
I read RFCs and man pages for fun (so much so that
|
||||||
https://git.square-r00t.net/OpTools/tree/ref/rfc.py[I wrote an RFC client^] - before I found out that the IETF already
|
https://git.square-r00t.net/OpTools/tree/ref/rfc.py[I wrote an RFC client^] - before I found out that the IETF already
|
||||||
https://tools.ietf.org/inventory/reading-tools.shtml[has several^], oops). I have a
|
https://tools.ietf.org/inventory/reading-tools.shtml[has several^], oops). I have a
|
||||||
@ -12,6 +13,7 @@ unique VLAN each, on-site and remote backups, PXE-bootstrapped https://ipxe.org/
|
|||||||
using 802.1X backed by RADIUS and LDAP, all with a full x86_64 Linux 1U as my border device. For a home network.
|
using 802.1X backed by RADIUS and LDAP, all with a full x86_64 Linux 1U as my border device. For a home network.
|
||||||
|
|
||||||
When I say "passion", I mean it.
|
When I say "passion", I mean it.
|
||||||
|
endif::[]
|
||||||
|
|
||||||
With this, combined with my 18 years of professional Linux/UNIX experience (21 years hobbyist), I've learned a few
|
With this, combined with my 18 years of professional Linux/UNIX experience (21 years hobbyist), I've learned a few
|
||||||
tricks around the ol' rodeo. Because of my adherence to and knowledge of best practices, care for forward-thinking, and
|
tricks around the ol' rodeo. Because of my adherence to and knowledge of best practices, care for forward-thinking, and
|
||||||
|
11
includes/personal.adoc
Normal file
11
includes/personal.adoc
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
== Personal
|
||||||
|
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
|
include::comm.involv.adoc[]
|
||||||
|
endif::[]
|
||||||
|
|
||||||
|
include::hobbies.adoc[]
|
||||||
|
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
|
include::contact.adoc[]
|
||||||
|
endif::[]
|
@ -1,9 +1,29 @@
|
|||||||
== Professional Skills
|
== Professional Skills
|
||||||
|
ifeval::["{filetype}" == "pdf"]
|
||||||
|
ifeval::["{ftype}" == "resume"]
|
||||||
|
:explink: https://cv.r00t2.io/#technical_experience[technical experience^]
|
||||||
|
endif::[]
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
|
:explink: <<cv.adoc#technical_experience, technical experience>>
|
||||||
|
endif::[]
|
||||||
|
endif::[]
|
||||||
|
ifeval::["{filetype}" != "pdf"]
|
||||||
|
ifeval::["{ftype}" == "resume"]
|
||||||
|
:explink: https://cv.r00t2.io/#technical_experience[technical experience^]
|
||||||
|
endif::[]
|
||||||
|
ifeval::["{ftype}" == "cv"]
|
||||||
|
:explink: <<cv.adoc#technical_experience, technical experience>>
|
||||||
|
endif::[]
|
||||||
|
endif::[]
|
||||||
|
|
||||||
As this is only a bird's-eye view, please instead review my <<cv.adoc#technical_experience, technical experience>> if you wish
|
As this is only a bird's-eye view, please instead review my {explink} if you wish
|
||||||
to see technical specifics.
|
to see technical specifics.
|
||||||
|
|
||||||
* Well-versed in *nix server administration, maintenance, deployment
|
* Highly autonomous, self-motivated, experienced, and skilled in remote/telecommuting environment
|
||||||
|
** 10+ consecutive years of telecommuting experience
|
||||||
|
** Strong written and verbal skills
|
||||||
|
** Dedicated home office and desire to maintain work/personal life separate
|
||||||
|
* Well-versed in *nix server administration, maintenance, deployment (18+ years professional experience)
|
||||||
* Documentation (Markdown, Asciidoc, etc.)
|
* Documentation (Markdown, Asciidoc, etc.)
|
||||||
* Architecture
|
* Architecture
|
||||||
** Deploying, designing, etc.
|
** Deploying, designing, etc.
|
||||||
@ -12,3 +32,6 @@ to see technical specifics.
|
|||||||
** Root cause determination
|
** Root cause determination
|
||||||
** Future mitigation design
|
** Future mitigation design
|
||||||
* Incorporating best practices to ensure interoperability, safety/security, stability
|
* Incorporating best practices to ensure interoperability, safety/security, stability
|
||||||
|
** Implementing RFC recommendations (e.g. `MUST` and `MAY` directives)
|
||||||
|
** Seeking current advisement from upstream documentation and notices
|
||||||
|
** Applying new security discoveries as applicable to already deployed projects
|
||||||
|
@ -1,17 +1,30 @@
|
|||||||
== Values
|
== Values
|
||||||
|
|
||||||
In my professional environment, I value the following:
|
In my professional environment, I value and demonstrate the following:
|
||||||
|
|
||||||
* Security, safety, privacy (for both employees/coworkers and customers)
|
=== "SSP" ===
|
||||||
* Accurate and followed deadlines
|
*Security*, *safety*, and *privacy*.
|
||||||
* Quality first, quantity second, "quickness" third
|
|
||||||
** Reduce/avoid technical debt
|
These concepts are paramount for both employees/coworkers/clients and customers. By holding these concepts in mind during all stages of a project or product's lifecycle, I believe that other areas (flexibility, economic growth, etc.) become much more achievable.
|
||||||
*** Deploy correctly the first time
|
|
||||||
*** Extensive planning
|
=== Timing ===
|
||||||
*** Future-proofing
|
*Deadlines* should be _accurate_ and _followed_. This allows for a smoother development, deployment, and consumer satisfaction level.
|
||||||
** Separate Dev, Test/Staging, Production environments
|
|
||||||
** Scalability
|
When determining deadlines and when developing or deploying *quality* comes first, *quantity* second, and *"quickness"* third. Efficiency is not efficient if it creates more work down the road at the cost of speed.
|
||||||
* Stability and availability over (individual) uptime
|
|
||||||
** Balancing
|
=== Do it Right, Do it Once ===
|
||||||
** Failover
|
By following a procedure and policy that allow for *testing* during development and deployment and by implementing *automation* into that cycle, it allows for *reducing/avoiding technical debt* by paving the road for:
|
||||||
* Clear communication with customers when affected
|
|
||||||
|
* Deploying correctly the first time
|
||||||
|
* Extensive planning
|
||||||
|
* Future-proofing
|
||||||
|
|
||||||
|
This is accomplished by a strong focus on:
|
||||||
|
|
||||||
|
* *Separate* _Dev_, _Test/Staging_, and _Production_ environments
|
||||||
|
** *Scalability*
|
||||||
|
|
||||||
|
=== Stability ===
|
||||||
|
In the modern technological world of failover and redundancy, *stability* and *availability* of a service hold priority over individual machines' uptime.
|
||||||
|
|
||||||
|
Because of this, I value *balancing* load/resources, deploying *strong failover procedures*, clear *priority levels/SLA* and *clear communication with consumers* when affected.
|
||||||
|
19
render.sh
19
render.sh
@ -1,8 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# asciidoctor -B /opt/dev/resume -D /tmp/resume -n /opt/dev/resume/cv.adoc
|
if [[ $(id -u) == 0 ]];
|
||||||
asciidoctor -D /srv/http/resume -n cv.adoc
|
then
|
||||||
asciidoctor -D /srv/http/resume -n resume.adoc
|
DESTDIR=/srv/http/resume
|
||||||
|
else
|
||||||
|
DESTDIR=/tmp/resume
|
||||||
|
fi
|
||||||
|
|
||||||
asciidoctor-pdf -D /srv/http/resume/pdf -n -d article cv.adoc
|
# Use -n to number sections.
|
||||||
asciidoctor-pdf -D /srv/http/resume/pdf -n -d article resume.adoc
|
|
||||||
|
asciidoctor -D ${DESTDIR}/cv -n -o index.html cv.adoc
|
||||||
|
asciidoctor -D ${DESTDIR}/resume -n -o index.html resume.adoc
|
||||||
|
|
||||||
|
#asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} -d article cv.adoc
|
||||||
|
asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} cv.adoc
|
||||||
|
asciidoctor-pdf -a filetype=pdf -D ${DESTDIR} -d article resume.adoc
|
||||||
|
14
resume.adoc
14
resume.adoc
@ -1,4 +1,4 @@
|
|||||||
= Résumé
|
= Brent Saner | Résumé
|
||||||
ifeval::["{filetype}" == "pdf"]
|
ifeval::["{filetype}" == "pdf"]
|
||||||
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
Brent Saner <bts@square-r00t.net> | +1 (504) 338-1513 | Lehigh Valley area, PA
|
||||||
endif::[]
|
endif::[]
|
||||||
@ -11,28 +11,30 @@ Last updated {localdatetime}
|
|||||||
:imagesdir: images
|
:imagesdir: images
|
||||||
:sectlinks:
|
:sectlinks:
|
||||||
ifeval::["{doctype}" != "article"]
|
ifeval::["{doctype}" != "article"]
|
||||||
|
ifeval::["{filetype}" != "pdf"]
|
||||||
:toc: preamble
|
:toc: preamble
|
||||||
:toc2: left
|
:toc2: left
|
||||||
endif::[]
|
endif::[]
|
||||||
|
endif::[]
|
||||||
:idprefix:
|
:idprefix:
|
||||||
:toclevels: 7
|
:toclevels: 7
|
||||||
:source-highlighter: highlightjs
|
:source-highlighter: highlightjs
|
||||||
|
:ftype: resume
|
||||||
|
:ftypef: résumé
|
||||||
|
:techexp: https://cv.r00t2.io/#technical_experience
|
||||||
|
|
||||||
|
include::includes/header.adoc[]
|
||||||
|
|
||||||
include::includes/intro.adoc[]
|
include::includes/intro.adoc[]
|
||||||
(If you are looking for my curriculum vitae (CV) instead, which contains much more detail, that can be found
|
(If you are looking for my curriculum vitae (CV) instead, which contains much more detail, that can be found
|
||||||
<<cv.adoc#, here>>.)
|
<<cv.adoc#, here>>.)
|
||||||
|
|
||||||
include::includes/accomplish.adoc[]
|
|
||||||
|
|
||||||
include::includes/skills.adoc[]
|
include::includes/skills.adoc[]
|
||||||
|
|
||||||
include::includes/exp2.adoc[]
|
include::includes/exp2.adoc[]
|
||||||
|
|
||||||
include::includes/samples.adoc[]
|
include::includes/samples.adoc[]
|
||||||
|
|
||||||
include::includes/refs.adoc[]
|
include::includes/personal.adoc[]
|
||||||
|
|
||||||
include::includes/contact.adoc[]
|
|
||||||
|
|
||||||
include::includes/lastupdate.adoc[]
|
include::includes/lastupdate.adoc[]
|
||||||
|
Loading…
Reference in New Issue
Block a user