SlideShare ist ein Scribd-Unternehmen logo
1 von 98
Downloaden Sie, um offline zu lesen
The state of curl 2022
Growth and size
Quality and testing
Commits
Newcomers and oldies
Releases
Activity
Vulnerabilities
Users' view
Money
The last 12 months
Less Good
My role
Future
@bagder
@bagder
Growth and size
@bagder
At 145K LOC and climbing
no change since last year
@bagder
@bagder
@bagder
@bagder
26 transfer protocols
no change since last year
transfer protocols
TCP
filesystem
UDP
TLS
SS
H
QUIC
HTTP
HTTPS
TFTP
FILE
FTP
IMAP
SMTP
POP3
GOPHER
TELNET
DICT
RTSP
RTMP
SMB
LDAP
SFTP
SCP
FTPS
IMAPS
SMTPS
POP3S
RTMPS
SMBS
LDAPS
@bagder
MQTT
GOPHERS
@bagder
36 third party dependencies
–1 +1 since last year
@bagder
@bagder
@bagder
third party world map June 2022
I/O layer
URL parser libidn2
winidn
HTTP
TLS
OpenSSL
gskit
mbedTLS
wolfSSL
Schannel
Secure
Transport
GnuTLS
NSS
boringssl
libressl
AmiSSL
SFTP SCP LDAP
WinLDAP
OpenLDAP
RTMP
librtmp
Name resolver c-ares
compression
libz brotli
cookies
libpsl
IMAP SMTP POP3
HTTP/2
nghttp2
authentication
winsspi Heimdal
MIT
kerberos
HTTP/3
quiche
ngtcp2
HTTP/1
SSH
wolfSSH
libssh2
libssh
@bagder
BearSSL
nghttp3
zstd
FTP
Hyper
FTPS IMAPS POP3S SMBS SMTPS
GOPHERS HTTPS LDAPS RTMPS
libgsasl
rustls
msh3
@bagder
86 operating systems
no change since last year
operating systems
@bagder
Syllable OS TPF
Tizen
Symbian Tru64
SunOS tvOS ucLinux
Genode Hurd iOS
Integrity
Illumos
HP-UX
HardenedBSD
Haiku
z/OS
Nintendo
Switch
NonStop OS
NetWare
MorphOS MPE/iX MS-DOS NCR MP-RAS NetBSD
RISC OS
Redox
ReactOS Sailfish OS SCO Unix Serenity SINIX-Z
Qubes OS
UnixWare WebOS
vxWorks
VMS Windows
UNICOS Windows CE
Wii System
Software
AmigaOS Blackberry 10
BeOS
Android
Blackberry
Tablet OS
AIX Cell OS
Aros
IRIX LineageOS Mbed Micrium
macOS
Mac OS 9
Linux Lua RTOS
eCOS FreeRTOS
FreeBSD
FreeDOS Fuchsia
DragonFly
BSD
Cygwin
Cisco IOS
OpenBSD OS/2 OS/400
Ultrix
ipadOS
NuttX
Solaris
Xbox
System
ChromeOS
MINIX
Garmin OS
QNX
PlayStation
Portable
Plan 9
OS21
OpenStep Orbis OS
z/TPF z/VM z/VSE
Operating systems known to have run curl
Atari FreeMiNT
@bagder
22 CPU architectures
no change since last year
CPU architectures
@bagder
x86
MIPS
ARM
PowerPC
SPARC POWER
m68k
s390 HP-PA
SH4
Nios
RISC-V
OpenRISC
ARC
Cell
Itanium VAX
MicroBlaze
Alpha Xtensa
x86-64
AVR32
CPU architectures known to have run curl
@bagder
2 planets
no change since last year
Planets
@bagder
Earth Mars
Planets known to have run curl
@bagder
13 TLS backends
-1 since last year
@bagder
@bagder
@bagder
@bagder
248 command line options
+6 since last year
@bagder
@bagder
@bagder
@bagder
295 curl_easy_setopt options
+7 since last year
@bagder
@bagder
@bagder
@bagder
Quality and testing
@bagder
C!
Efficient and portable!
Some security problems could be avoided using something
else
Lots of “reach” would also be avoided
Mitigations: readable code, reviews, tests, fuzzing, static
code analyzing
@bagder
OSS-Fuzz
Flatlined the last few years – nothing new is reported
CI-Fuzz runs a little fuzzing on every commit / PR
We need more entry points to get more out of fuzzers
@bagder
1509 test cases
+85 (5.9%) since last year
@bagder
@bagder
@bagder
@bagder
7857 bug-fixes
+1024 (+15.0%) since last year
@bagder
@bagder
@bagder
@bagder
107 CI jobs *
+13 (+13.8%) since last year
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
Commits, frequency and whom
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
Top-20 curl commit authors last twelve months
840 Daniel Stenberg
64 Jay Satiro
51 Daniel Gustafsson
35 Marc Hoersken
29 Tatsuhiro Tsujikawa
27 Marcel Raad
20 Patrick Monnerat
19 Michał Antoniak
16 Josh Soref
14 Viktor Szakats
13 Fabian Keil
12 Gergely Nagy
11 Philip H
9 Harry Sintonen
8 Dan Fandrich
8 Henrik Holst
7 Gisle Vanem
6 Jacob Hoffman-Andrews
6 Jan Venekamp
6 Kevin Adler
@bagder
@bagder
Newcomers and oldies
@bagder
2639 contributors
+256 (+10.7%) since last year
@bagder
@bagder
@bagder
@bagder
1034 authors
+134 (+14.9%) since last year
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
Releases
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
Activity
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
@bagder
Vulnerabilities
@bagder
@bagder
@bagder
@bagder
34,660 USD bug-bounty in total
+25,660 (+385%) USD since last year
@bagder
@bagder
@bagder
@bagder
Lessons recent vulnerabilities
C mistake mitigations might have had an effect
Flaws linger in the code a very long time until detected
Fuzzing is king
Fixing the flaws is usually straight-forward
Raised bounties thanks to Internet Bug Bounty
@bagder
The users’ view
@bagder
Annual user survey
What is used, what is ignored
What is good, what is bad
What should be added, what should be removed
How are we doing
@bagder
User survey 2022
Just ran, not analyzed yet 😢
@bagder
curl.se web traffic June 2022
Fastly makes our lives easier
278 TB the last 12 months (up from 146 TB)
103.8 M requests/day on average (up from 11.4 M)
Fast web site, close to most users
No logs, no tracking, very little stats
Did I mention Fastly is good?
@bagder
Google trends 5-year span, worldwide
Includes wget and OpenSSL to provide references with similar projects
Wget OpenSSL curl
Snapshot from May 26 2022
@bagder
25,000 GitHub Stars
@bagder
https://bestpractices.coreinfrastructure.org/en/projects/63
@bagder
Everyone uses curl
Apps: Youtube, Google Photos, Skype, Spotify, ...
OS: iOS, Android, macOS, Windows, Linux, ChromeOS, AOSP, ...
Cars: 22 top brands. Mercedes, BMW, Toyota, Nissan, Volkswagen, …
Game consoles: PS5, PS4, Nintendo Switch, ...
Games: Fortnite, Red Dead Redemption 2, Spider Man, …
The Mars 2020 Helicopter project
Estimate: 10+ billion installations
@bagder
Money
@bagder
Finances and sponsors
curl is not a legal entity
Open Collective holds our funds
Daniel is employed by wolfSSL
wolfSSL offers commercial curl services
@bagder
@bagder
Main sponsors
@bagder
@bagder
Gold sponsor
@bagder
Silver sponsors June 2022
@bagder
@bagder
@bagder
Balance May 26, 2022
$123,459.06 USD
(+40,863 since last curl up)
@bagder
Expenses
curl.se hosting
curl up – travel and lodging
Stickers – getting and shipping merchandise
Bug bounties
More?
@bagder
Done the last 12 months
@bagder
1024 bug-fixes
29 changes
18 CVEs
@bagder
libcurl options
CURLOPT_MAXLIFETIME_CONN
CURLOPT_PREREQFUNCTION
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
@bagder
News in libcurl
msh3 as a new h3 backend
percent-escaping for multipart form field and file names
curl_url_strerror()
localhost is “fixed”
cookies over localhost considered secure
dropped metalink support
dropped mesalink support
Increased hyper support
@bagder
Command line tool
--no-clobber
--remove-on-error
--json
More --write-out magic:
%header{}
%{header_json}
@bagder
Test suite
unix socket support for http server
numerous more “testable features”
@bagder
Other news in and around the project
@bagder
Daniel - a GitHub star
Recognition
Channel for previews and communication
@bagder
Travis CI
No longer free to use for us
Added Zuul and Circle CI
Distributed old Travis jobs to other services
Then Zuul turned bad - in a different way
@bagder
everything curl
At 92,000 words
+19,000 words since last curl up
@bagder
Less good
Flaky tests/CI still
Slow CI tests sometimes
Vulnerabilities are still reported yes but...
Still regressions, but less frequently? happens
Could use more people who stick around always
@bagder
@bagder
My (Daniel’s) role
@bagder
What I do here
I help keeping the vision – what curl and
libcurl should do
I do curl development and fix problems – for
fun and for customers
I support users and developers experiencing
problems or bugs.
I review code and suggestions
I’m guiding the architecture of existing and
future features
I document how things work and should work
I inform project members and “the outside
world” about news and things we work on
I aim to master the protocols curl works with
I admin and host the web site, mailing list and
random services
I often serve as a “public face” for the project.
It is sometimes said to be “mine” (it isn’t)
I talk about and “market” the project in many
places and ways
curl for
business
curl for fun
Me, curl and wolfSSL
@bagder
Future
@bagder
Everything will be networked
If it isn’t powered now, it will be soon
If it is powered, it will be networked
If it is networked, it needs Internet access
If it needs Internet access, curl can help
@bagder
@bagder
March 20
2023
@bagder
@bagder
Coming up
OCSP
WebSockets
Hyper
HTTP/3
tiny-curl
QUERY?
@bagder
TODO?
I have a personal list of things I want to work on
I hope to do more curl work for hire
What do you want to see?
@bagder
Talk to us!
I’m @bagder on Twitter
We’re in #curl on libera.chat IRC
File bug reports:
https://github.com/curl/curl/issues
Submit pull-requests:
https://github.com/curl/curl/pulls
Security problems:
https://hackerone.com/curl
Mailing lists:
curl-users for command line tool
questions and support
curl-library for libcurl users,
development, debugging,
architecture, new stuff.
https://curl.se/mail/

Weitere ähnliche Inhalte

Ähnlich wie The state of curl 2022

Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Christian Heilmann
 

Ähnlich wie The state of curl 2022 (20)

stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?stackconf 2021 | GitOps: yea or nay?
stackconf 2021 | GitOps: yea or nay?
 
Runa Open Source Startup (ROSS) index annual report - 2023
Runa Open Source Startup (ROSS) index annual report - 2023Runa Open Source Startup (ROSS) index annual report - 2023
Runa Open Source Startup (ROSS) index annual report - 2023
 
Curl with rust
Curl with rustCurl with rust
Curl with rust
 
Electric Capital Developer Report 2022
Electric Capital Developer Report 2022Electric Capital Developer Report 2022
Electric Capital Developer Report 2022
 
New Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application SecurityNew Farming Methods in the Epistemological Wasteland of Application Security
New Farming Methods in the Epistemological Wasteland of Application Security
 
PuppetConf 2016: Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...
PuppetConf 2016:  Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...PuppetConf 2016:  Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...
PuppetConf 2016: Docker, Mesos, Kubernetes and...Puppet? Don't Panic! – Deep...
 
T3CON Munich: Apache Solr for TYPO3: How Continuous Cooperative Innovation ca...
T3CON Munich: Apache Solr for TYPO3: How Continuous Cooperative Innovation ca...T3CON Munich: Apache Solr for TYPO3: How Continuous Cooperative Innovation ca...
T3CON Munich: Apache Solr for TYPO3: How Continuous Cooperative Innovation ca...
 
A Quick Preview of What You'll See at Qt World Summit 2016
A Quick Preview of What You'll See at Qt World Summit 2016A Quick Preview of What You'll See at Qt World Summit 2016
A Quick Preview of What You'll See at Qt World Summit 2016
 
Crypto Dev Report · 2022
Crypto Dev Report · 2022Crypto Dev Report · 2022
Crypto Dev Report · 2022
 
Kranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtcKranky geek15 - securing IoT with webrtc
Kranky geek15 - securing IoT with webrtc
 
When it all GOes right
When it all GOes rightWhen it all GOes right
When it all GOes right
 
Future of Voice - Welcome to the workshop
Future of Voice - Welcome to the workshopFuture of Voice - Welcome to the workshop
Future of Voice - Welcome to the workshop
 
WebXR, if X = 5G
WebXR, if X = 5GWebXR, if X = 5G
WebXR, if X = 5G
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
Developer Report 2021 (Published: January 2021)
Developer Report 2021 (Published: January 2021)Developer Report 2021 (Published: January 2021)
Developer Report 2021 (Published: January 2021)
 
Developer Report 2021 (Published: January 2021)
Developer Report 2021 (Published: January 2021)Developer Report 2021 (Published: January 2021)
Developer Report 2021 (Published: January 2021)
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
Open Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open SourceOpen Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open Source
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 

Mehr von Daniel Stenberg

Mehr von Daniel Stenberg (20)

mastering libcurl part 2
mastering libcurl part 2mastering libcurl part 2
mastering libcurl part 2
 
mastering libcurl part 1
mastering libcurl part 1mastering libcurl part 1
mastering libcurl part 1
 
curl - openfourm europe.pdf
curl - openfourm europe.pdfcurl - openfourm europe.pdf
curl - openfourm europe.pdf
 
curl experiments - curl up 2022
curl experiments - curl up 2022curl experiments - curl up 2022
curl experiments - curl up 2022
 
curl security - curl up 2022
curl security - curl up 2022curl security - curl up 2022
curl security - curl up 2022
 
HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022HTTP/3 in curl - curl up 2022
HTTP/3 in curl - curl up 2022
 
Getting started with libcurl
Getting started with libcurlGetting started with libcurl
Getting started with libcurl
 
Testing curl for security
Testing curl for securityTesting curl for security
Testing curl for security
 
common mistakes when using libcurl
common mistakes when using libcurlcommon mistakes when using libcurl
common mistakes when using libcurl
 
HTTP/3 in curl 2020
HTTP/3 in curl 2020HTTP/3 in curl 2020
HTTP/3 in curl 2020
 
curl better
curl bettercurl better
curl better
 
HTTP/3, QUIC and streaming
HTTP/3, QUIC and streamingHTTP/3, QUIC and streaming
HTTP/3, QUIC and streaming
 
HTTP/3 in curl
HTTP/3 in curlHTTP/3 in curl
HTTP/3 in curl
 
HTTP/3 over QUIC. All is new but still the same!
HTTP/3 over QUIC. All is new but still the same!HTTP/3 over QUIC. All is new but still the same!
HTTP/3 over QUIC. All is new but still the same!
 
Just curl it!
Just curl it!Just curl it!
Just curl it!
 
Http3 fullstackfest-2019
Http3 fullstackfest-2019Http3 fullstackfest-2019
Http3 fullstackfest-2019
 
Writing safe and secure code
Writing safe and secure codeWriting safe and secure code
Writing safe and secure code
 
The state of curl 2019
The state of curl 2019The state of curl 2019
The state of curl 2019
 
DNS over HTTPS
DNS over HTTPSDNS over HTTPS
DNS over HTTPS
 
Säker kod (secure code)
Säker kod (secure code)Säker kod (secure code)
Säker kod (secure code)
 

Kürzlich hochgeladen

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 

The state of curl 2022