├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── 1-bug-report.yml │ ├── 2-enhancement.yml │ └── 3-help.yml ├── PULL_REQUEST_TEMPLATE.md ├── SAVED_REPLIES.md ├── dependency-review-config.yml └── workflows │ ├── stale_repos.yml │ └── wpcs.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── README.md ├── SECURITY.md ├── assets ├── blacklist.txt ├── css │ ├── Chart.min.css │ ├── admin.css │ ├── admin.css.map │ └── jquery-jvectormap-2.0.5.css ├── disposable-email-domains.txt ├── img │ ├── flags │ │ ├── ad.svg │ │ ├── ae.svg │ │ ├── af.svg │ │ ├── ag.svg │ │ ├── ai.svg │ │ ├── al.svg │ │ ├── am.svg │ │ ├── ao.svg │ │ ├── ar.svg │ │ ├── as.svg │ │ ├── at.svg │ │ ├── au.svg │ │ ├── aw.svg │ │ ├── ax.svg │ │ ├── az.svg │ │ ├── ba.svg │ │ ├── bb.svg │ │ ├── bd.svg │ │ ├── be.svg │ │ ├── bf.svg │ │ ├── bg.svg │ │ ├── bh.svg │ │ ├── bi.svg │ │ ├── bj.svg │ │ ├── bl.svg │ │ ├── bm.svg │ │ ├── bn.svg │ │ ├── bo.svg │ │ ├── bq-bo.svg │ │ ├── bq-sa.svg │ │ ├── bq-se.svg │ │ ├── br.svg │ │ ├── bs.svg │ │ ├── bt.svg │ │ ├── bw.svg │ │ ├── by.svg │ │ ├── bz.svg │ │ ├── ca-bc.svg │ │ ├── ca.svg │ │ ├── cc.svg │ │ ├── cd.svg │ │ ├── cf.svg │ │ ├── cg.svg │ │ ├── ch.svg │ │ ├── ci.svg │ │ ├── ck.svg │ │ ├── cl.svg │ │ ├── cm.svg │ │ ├── cn.svg │ │ ├── co.svg │ │ ├── cr.svg │ │ ├── cu.svg │ │ ├── cv.svg │ │ ├── cw.svg │ │ ├── cx.svg │ │ ├── cy.svg │ │ ├── cz.svg │ │ ├── de.svg │ │ ├── dj.svg │ │ ├── dk.svg │ │ ├── dm.svg │ │ ├── do.svg │ │ ├── dz.svg │ │ ├── easter_island.svg │ │ ├── ec-w.svg │ │ ├── ec.svg │ │ ├── ee.svg │ │ ├── eg.svg │ │ ├── eh.svg │ │ ├── er.svg │ │ ├── es-ce.svg │ │ ├── es-cn.svg │ │ ├── es-ga.svg │ │ ├── es-ib.svg │ │ ├── es-ml.svg │ │ ├── es-pv.svg │ │ ├── es.svg │ │ ├── esperanto.svg │ │ ├── et.svg │ │ ├── european_union.svg │ │ ├── fi.svg │ │ ├── fj.svg │ │ ├── fk.svg │ │ ├── fm.svg │ │ ├── fo.svg │ │ ├── fr-h.svg │ │ ├── fr.svg │ │ ├── ga.svg │ │ ├── gb-eng.svg │ │ ├── gb-ork.svg │ │ ├── gb-sct.svg │ │ ├── gb-wls.svg │ │ ├── gb.svg │ │ ├── gd.svg │ │ ├── ge-ab.svg │ │ ├── ge.svg │ │ ├── gf.svg │ │ ├── gg.svg │ │ ├── gh.svg │ │ ├── gi.svg │ │ ├── gl.svg │ │ ├── gm.svg │ │ ├── gn.svg │ │ ├── gq.svg │ │ ├── gr.svg │ │ ├── gt.svg │ │ ├── gu.svg │ │ ├── gw.svg │ │ ├── gy.svg │ │ ├── hausa.svg │ │ ├── hk.svg │ │ ├── hmong.svg │ │ ├── hn.svg │ │ ├── hr.svg │ │ ├── ht.svg │ │ ├── hu.svg │ │ ├── id.svg │ │ ├── ie.svg │ │ ├── il.svg │ │ ├── im.svg │ │ ├── in.svg │ │ ├── io.svg │ │ ├── iq.svg │ │ ├── ir.svg │ │ ├── is.svg │ │ ├── it-82.svg │ │ ├── it-88.svg │ │ ├── it.svg │ │ ├── je.svg │ │ ├── jm.svg │ │ ├── jo.svg │ │ ├── jp.svg │ │ ├── kannada.svg │ │ ├── ke.svg │ │ ├── kg.svg │ │ ├── kh.svg │ │ ├── ki.svg │ │ ├── km.svg │ │ ├── kn.svg │ │ ├── kp.svg │ │ ├── kr.svg │ │ ├── kurdistan.svg │ │ ├── kw.svg │ │ ├── ky.svg │ │ ├── kz.svg │ │ ├── la.svg │ │ ├── lb.svg │ │ ├── lc.svg │ │ ├── li.svg │ │ ├── lk.svg │ │ ├── lr.svg │ │ ├── ls.svg │ │ ├── lt.svg │ │ ├── lu.svg │ │ ├── lv.svg │ │ ├── ly.svg │ │ ├── ma.svg │ │ ├── malayali.svg │ │ ├── maori.svg │ │ ├── mc.svg │ │ ├── md.svg │ │ ├── me.svg │ │ ├── mg.svg │ │ ├── mh.svg │ │ ├── mk.svg │ │ ├── ml.svg │ │ ├── mm.svg │ │ ├── mn.svg │ │ ├── mo.svg │ │ ├── mp.svg │ │ ├── mq.svg │ │ ├── mr.svg │ │ ├── ms.svg │ │ ├── mt.svg │ │ ├── mu.svg │ │ ├── mv.svg │ │ ├── mw.svg │ │ ├── mx.svg │ │ ├── my.svg │ │ ├── mz.svg │ │ ├── na.svg │ │ ├── nato.svg │ │ ├── ne.svg │ │ ├── nf.svg │ │ ├── ng.svg │ │ ├── ni.svg │ │ ├── nl.svg │ │ ├── no.svg │ │ ├── northern_cyprus.svg │ │ ├── np.svg │ │ ├── nr.svg │ │ ├── nu.svg │ │ ├── nz.svg │ │ ├── om.svg │ │ ├── pa.svg │ │ ├── pe.svg │ │ ├── pf.svg │ │ ├── pg.svg │ │ ├── ph.svg │ │ ├── pk.svg │ │ ├── pl.svg │ │ ├── pn.svg │ │ ├── pr.svg │ │ ├── ps.svg │ │ ├── pt-20.svg │ │ ├── pt-30.svg │ │ ├── pt.svg │ │ ├── pw.svg │ │ ├── py.svg │ │ ├── qa.svg │ │ ├── ro.svg │ │ ├── rs.svg │ │ ├── ru.svg │ │ ├── rw.svg │ │ ├── sa.svg │ │ ├── sb.svg │ │ ├── sc.svg │ │ ├── sd.svg │ │ ├── se.svg │ │ ├── sg.svg │ │ ├── si.svg │ │ ├── sindh.svg │ │ ├── sk.svg │ │ ├── sl.svg │ │ ├── sm.svg │ │ ├── sn.svg │ │ ├── so.svg │ │ ├── somaliland.svg │ │ ├── south_ossetia.svg │ │ ├── sr.svg │ │ ├── ss.svg │ │ ├── st.svg │ │ ├── sv.svg │ │ ├── sx.svg │ │ ├── sy.svg │ │ ├── sz.svg │ │ ├── tc.svg │ │ ├── td.svg │ │ ├── tg.svg │ │ ├── th.svg │ │ ├── tibet.svg │ │ ├── tj.svg │ │ ├── tk.svg │ │ ├── tl.svg │ │ ├── tm.svg │ │ ├── tn.svg │ │ ├── to.svg │ │ ├── tr.svg │ │ ├── transnistria.svg │ │ ├── tt.svg │ │ ├── tv.svg │ │ ├── tw.svg │ │ ├── tz.svg │ │ ├── ua.svg │ │ ├── ug.svg │ │ ├── united_nations.svg │ │ ├── us-hi.svg │ │ ├── us.svg │ │ ├── uy.svg │ │ ├── uz.svg │ │ ├── va.svg │ │ ├── vc.svg │ │ ├── ve.svg │ │ ├── vg.svg │ │ ├── vi.svg │ │ ├── vn.svg │ │ ├── vu.svg │ │ ├── ws.svg │ │ ├── xk.svg │ │ ├── xx.svg │ │ ├── ye.svg │ │ ├── yiddish.svg │ │ ├── za.svg │ │ ├── zm.svg │ │ └── zw.svg │ ├── icon-blocked.svg │ ├── icon-bug.svg │ ├── icon-edit.svg │ ├── icon-email.svg │ ├── icon-error.svg │ ├── icon-export.svg │ ├── icon-fluent-forms.svg │ ├── icon-google.svg │ ├── icon-honeypot.svg │ ├── icon-info.svg │ ├── icon-ipinfo.svg │ ├── icon-ipstack.svg │ ├── icon-location.svg │ ├── icon-log.svg │ ├── icon-mc4wp.svg │ ├── icon-new-window.svg │ ├── icon-reports.svg │ ├── icon-settings.svg │ ├── icon-stop-forum-spam.png │ ├── icon-success.svg │ ├── icon-trash.svg │ ├── icon-wordpress.svg │ ├── icon-words.svg │ ├── icon-x.svg │ ├── icon.svg │ ├── logo-flat.svg │ └── text-zero-spam.svg ├── js │ ├── Chart.bundle.min.js │ ├── admin.js │ ├── jquery-jvectormap-2.0.5.min.js │ └── jquery-jvectormap-world-merc.js └── src │ └── scss │ └── admin.scss ├── composer.json ├── composer.lock ├── core ├── admin │ ├── class-admin.php │ ├── class-dashboard.php │ ├── class-settings.php │ └── tables │ │ ├── class-blockedlocations.php │ │ ├── class-blockedtable.php │ │ └── class-logtable.php ├── class-access.php ├── class-cli.php ├── class-settings.php ├── class-user.php └── class-utilities.php ├── includes ├── class-autoloader.php ├── class-cli.php ├── class-db.php ├── class-plugin.php ├── class-updates.php └── templates │ ├── admin-bar-chart.php │ ├── admin-block-ip.php │ ├── admin-header.php │ ├── admin-hours-list.php │ ├── admin-ips.php │ ├── admin-line-chart.php │ ├── admin-map.php │ ├── admin-modal-details.php │ └── admin-pie.php ├── modules ├── class-debug.php ├── class-google.php ├── class-ipinfomodule.php ├── class-ipstack.php ├── class-projecthoneypot.php ├── class-stopforumspam.php ├── class-zerospam.php ├── comments │ └── class-comments.php ├── contactform7 │ ├── class-contactform7.php │ └── icon-cf7.png ├── davidwalsh │ ├── assets │ │ └── js │ │ │ └── davidwalsh.js │ ├── class-davidwalsh.php │ └── icon-david-walsh.png ├── elementor │ ├── class-elementor.php │ └── icon-elementor.svg ├── fluentforms │ ├── class-fluentforms.php │ └── icon-fluent-forms.svg ├── formidable │ ├── class-formidable.php │ └── icon-formidable.png ├── give │ ├── class-give.php │ └── icon-givewp.png ├── gravityforms │ ├── class-gravityforms.php │ └── icon-gravity-forms.svg ├── ipbase │ ├── class-ipbase.php │ └── icon-ipbase.svg ├── login │ └── class-login.php ├── mailchimpforwp │ └── class-mailchimpforwp.php ├── registration │ └── class-registration.php ├── security │ ├── class-security.php │ └── icon-security.svg ├── woocommerce │ ├── class-woocommerce.php │ └── icon-woocommerce.svg ├── wpforms │ ├── class-wpforms.php │ └── icon-wpforms.svg └── wpuseravatar │ ├── class-wpuseravatar.php │ └── icon-profilepress.png ├── phpcs.xml ├── readme.txt ├── uninstall.php ├── vendor ├── autoload.php ├── composer │ ├── ClassLoader.php │ ├── InstalledVersions.php │ ├── LICENSE │ ├── autoload_classmap.php │ ├── autoload_files.php │ ├── autoload_namespaces.php │ ├── autoload_psr4.php │ ├── autoload_real.php │ ├── autoload_static.php │ ├── installed.json │ ├── installed.php │ └── platform_check.php ├── guzzlehttp │ ├── guzzle │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── UPGRADING.md │ │ ├── composer.json │ │ ├── src │ │ │ ├── BodySummarizer.php │ │ │ ├── BodySummarizerInterface.php │ │ │ ├── Client.php │ │ │ ├── ClientInterface.php │ │ │ ├── ClientTrait.php │ │ │ ├── Cookie │ │ │ │ ├── CookieJar.php │ │ │ │ ├── CookieJarInterface.php │ │ │ │ ├── FileCookieJar.php │ │ │ │ ├── SessionCookieJar.php │ │ │ │ └── SetCookie.php │ │ │ ├── Exception │ │ │ │ ├── BadResponseException.php │ │ │ │ ├── ClientException.php │ │ │ │ ├── ConnectException.php │ │ │ │ ├── GuzzleException.php │ │ │ │ ├── InvalidArgumentException.php │ │ │ │ ├── RequestException.php │ │ │ │ ├── ServerException.php │ │ │ │ ├── TooManyRedirectsException.php │ │ │ │ └── TransferException.php │ │ │ ├── Handler │ │ │ │ ├── CurlFactory.php │ │ │ │ ├── CurlFactoryInterface.php │ │ │ │ ├── CurlHandler.php │ │ │ │ ├── CurlMultiHandler.php │ │ │ │ ├── EasyHandle.php │ │ │ │ ├── HeaderProcessor.php │ │ │ │ ├── MockHandler.php │ │ │ │ ├── Proxy.php │ │ │ │ └── StreamHandler.php │ │ │ ├── HandlerStack.php │ │ │ ├── MessageFormatter.php │ │ │ ├── MessageFormatterInterface.php │ │ │ ├── Middleware.php │ │ │ ├── Pool.php │ │ │ ├── PrepareBodyMiddleware.php │ │ │ ├── RedirectMiddleware.php │ │ │ ├── RequestOptions.php │ │ │ ├── RetryMiddleware.php │ │ │ ├── TransferStats.php │ │ │ ├── Utils.php │ │ │ ├── functions.php │ │ │ └── functions_include.php │ │ └── vendor-bin │ │ │ ├── php-cs-fixer │ │ │ └── composer.json │ │ │ ├── phpstan │ │ │ └── composer.json │ │ │ └── psalm │ │ │ └── composer.json │ ├── promises │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ │ ├── AggregateException.php │ │ │ ├── CancellationException.php │ │ │ ├── Coroutine.php │ │ │ ├── Create.php │ │ │ ├── Each.php │ │ │ ├── EachPromise.php │ │ │ ├── FulfilledPromise.php │ │ │ ├── Is.php │ │ │ ├── Promise.php │ │ │ ├── PromiseInterface.php │ │ │ ├── PromisorInterface.php │ │ │ ├── RejectedPromise.php │ │ │ ├── RejectionException.php │ │ │ ├── TaskQueue.php │ │ │ ├── TaskQueueInterface.php │ │ │ ├── Utils.php │ │ │ ├── functions.php │ │ │ └── functions_include.php │ └── psr7 │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ ├── src │ │ ├── AppendStream.php │ │ ├── BufferStream.php │ │ ├── CachingStream.php │ │ ├── DroppingStream.php │ │ ├── Exception │ │ │ └── MalformedUriException.php │ │ ├── FnStream.php │ │ ├── Header.php │ │ ├── HttpFactory.php │ │ ├── InflateStream.php │ │ ├── LazyOpenStream.php │ │ ├── LimitStream.php │ │ ├── Message.php │ │ ├── MessageTrait.php │ │ ├── MimeType.php │ │ ├── MultipartStream.php │ │ ├── NoSeekStream.php │ │ ├── PumpStream.php │ │ ├── Query.php │ │ ├── Request.php │ │ ├── Response.php │ │ ├── Rfc7230.php │ │ ├── ServerRequest.php │ │ ├── Stream.php │ │ ├── StreamDecoratorTrait.php │ │ ├── StreamWrapper.php │ │ ├── UploadedFile.php │ │ ├── Uri.php │ │ ├── UriNormalizer.php │ │ ├── UriResolver.php │ │ └── Utils.php │ │ └── vendor-bin │ │ ├── php-cs-fixer │ │ └── composer.json │ │ ├── phpstan │ │ └── composer.json │ │ └── psalm │ │ └── composer.json ├── ipinfo │ └── ipinfo │ │ ├── .editorconfig │ │ ├── .styleci.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ ├── psalm.xml │ │ └── src │ │ ├── Details.php │ │ ├── IPinfo.php │ │ ├── IPinfoException.php │ │ ├── cache │ │ ├── CacheInterface.php │ │ └── DefaultCache.php │ │ └── countries.json ├── psr │ ├── http-client │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ │ ├── ClientExceptionInterface.php │ │ │ ├── ClientInterface.php │ │ │ ├── NetworkExceptionInterface.php │ │ │ └── RequestExceptionInterface.php │ ├── http-factory │ │ ├── .gitignore │ │ ├── .pullapprove.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ │ ├── RequestFactoryInterface.php │ │ │ ├── ResponseFactoryInterface.php │ │ │ ├── ServerRequestFactoryInterface.php │ │ │ ├── StreamFactoryInterface.php │ │ │ ├── UploadedFileFactoryInterface.php │ │ │ └── UriFactoryInterface.php │ ├── http-message │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ │ ├── MessageInterface.php │ │ │ ├── RequestInterface.php │ │ │ ├── ResponseInterface.php │ │ │ ├── ServerRequestInterface.php │ │ │ ├── StreamInterface.php │ │ │ ├── UploadedFileInterface.php │ │ │ └── UriInterface.php │ └── simple-cache │ │ ├── .editorconfig │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ ├── CacheException.php │ │ ├── CacheInterface.php │ │ └── InvalidArgumentException.php ├── ralouphie │ └── getallheaders │ │ ├── LICENSE │ │ ├── README.md │ │ ├── composer.json │ │ └── src │ │ └── getallheaders.php ├── sabre │ └── cache │ │ ├── .gitignore │ │ ├── .php_cs.dist │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ └── EMPTY │ │ ├── composer.json │ │ ├── lib │ │ ├── Apcu.php │ │ ├── InvalidArgumentException.php │ │ ├── Memcached.php │ │ ├── Memory.php │ │ ├── MultipleTrait.php │ │ └── Version.php │ │ ├── phpstan.neon │ │ └── tests │ │ ├── Cache │ │ ├── AbstractCacheTest.php │ │ ├── ApcuTest.php │ │ ├── MemcachedTest.php │ │ └── MemoryCacheTest.php │ │ └── phpunit.xml └── symfony │ └── deprecation-contracts │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── composer.json │ └── function.php └── wordpress-zero-spam.php /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners will be the default owners for everything in the repo. Unless a later match takes precedence, @bmarshall511, as primary maintainer will be requested for review when someone opens a Pull Request. 2 | * @bmarshall511 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/3-help.yml: -------------------------------------------------------------------------------- 1 | name: "❓ Need help?" 2 | description: "Ask us a question, we are here to help!" 3 | labels: "type:question" 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | If you have a question that is neither a bug report nor an enhancement, then please post it here! Please fill in as much of the template below as you can. 9 | - type: textarea 10 | attributes: 11 | label: Describe your question 12 | description: A clear and concise description of what your question is. 13 | validations: 14 | required: true 15 | 16 | - type: checkboxes 17 | id: terms 18 | attributes: 19 | label: Code of Conduct 20 | description: By submitting this issue, you agree to follow our `Code of Conduct` (see the `CODE_OF_CONDUCT.md` file in the repo). 21 | options: 22 | - label: I agree to follow this project's Code of Conduct 23 | required: true 24 | -------------------------------------------------------------------------------- /.github/workflows/stale_repos.yml: -------------------------------------------------------------------------------- 1 | name: Stale Repo Identifier 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '3 2 1 * *' 7 | 8 | jobs: 9 | build: 10 | name: stale repo identifier 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Run stale_repos tool 15 | uses: github/stale-repos@v1 16 | env: 17 | GH_TOKEN: ${{ secrets.GH_PAT_REPO }} 18 | ORGANIZATION: Zero Spam 19 | EXEMPT_TOPICS: "keep,template" 20 | INACTIVE_DAYS: 365 21 | 22 | - name: Create issue 23 | uses: peter-evans/create-issue-from-file@v4 24 | with: 25 | title: Stale repository report 26 | content-filepath: ./STALE_REPOS.md 27 | assignees: bmarshall511 28 | token: ${{ secrets.GH_PAT_REPO }} 29 | -------------------------------------------------------------------------------- /.github/workflows/wpcs.yml: -------------------------------------------------------------------------------- 1 | name: WPCS Check 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | phpcs: 7 | name: WPCS 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | - name: WPCS Check 12 | uses: 10up/wpcs-action@stable 13 | with: 14 | standard: 'WordPress' 15 | extra_args: '--report-json=./phpcs.json' 16 | - name: Update summary 17 | run: | 18 | npm i -g github:10up/phpcs-json-to-md 19 | phpcs-json-to-md --path ./phpcs.json --output ./phpcs.md 20 | cat phpcs.md >> $GITHUB_STEP_SUMMARY 21 | if: always() 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /assets/css/Chart.min.css: -------------------------------------------------------------------------------- 1 | @keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0} -------------------------------------------------------------------------------- /assets/img/flags/ad.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ae.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/af.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/al.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/am.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ao.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/as.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/at.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/aw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ax.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/az.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ba.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/be.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bq-bo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bq-sa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bq-se.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/br.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/by.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/bz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ca.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ci.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/co.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/cz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/de.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/dj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/dk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/do.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/dz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/easter_island.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ec-w.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ec.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ee.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/eg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/eh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/er.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/es-cn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/es-ga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/es-ib.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/es-pv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/es.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/esperanto.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/et.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/european_union.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fr-h.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/fr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ga.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gb-eng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gb-ork.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gb-sct.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gb-wls.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ge-ab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ge.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/gy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/hk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/hmong.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/hn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ht.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/hu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/id.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ie.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/il.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/im.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/in.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/iq.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ir.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/is.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/it-82.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/it.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/je.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/jm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/jo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/jp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kannada.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ke.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/km.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kurdistan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/kz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/la.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/li.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ls.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/lv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ly.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ma.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/malayali.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/maori.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/md.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/me.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ml.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ms.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/my.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/mz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/na.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/nato.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ne.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/nf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ng.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ni.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/nl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/no.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/northern_cyprus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/np.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/nr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/nu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/om.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pt-30.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/pw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/py.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/qa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ro.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/rs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ru.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/rw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sa.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/se.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/si.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/so.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/somaliland.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/south_ossetia.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ss.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/st.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/sz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/td.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/th.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tibet.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tj.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/to.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tr.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/transnistria.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/tz.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ua.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ug.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/united_nations.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/us-hi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/uy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/va.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/vc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ve.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/vg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/vi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/vn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/vu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ws.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/xk.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/xx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/ye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/yiddish.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/za.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/zm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/flags/zw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/icon-google.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/icon-info.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icon-info 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/img/icon-location.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/img/icon-new-window.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icon-new-window 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /assets/img/icon-stop-forum-spam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Highfivery/zero-spam-for-wordpress/83752afac3c90e2f96abea6ce69f7f6aa745ac68/assets/img/icon-stop-forum-spam.png -------------------------------------------------------------------------------- /assets/img/icon-success.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | status-success-svgrepo-com 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /assets/img/icon-x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | icon-x 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "highfivery/zero-spam-for-wordpress", 3 | "description": "No spam, no scams, just seamless experiences with Zero Spam for WordPress - the shield your site deserves.", 4 | "type": "wordpress-plugin", 5 | "keywords": ["wordpress", "plugin", "zerospam", "spam"], 6 | "license": "GPL-2.0-only", 7 | "minimum-stability": "dev", 8 | "prefer-stable": true, 9 | "authors": [ 10 | { 11 | "name": "Ben Marshall", 12 | "email": "me@benmarshall.me", 13 | "homepage": "https://www.benmarshall.me" 14 | }, 15 | { 16 | "name": "Highfivery", 17 | "email": "info@highfivery.com", 18 | "homepage": "https://highfivery.com" 19 | } 20 | ], 21 | "repositories": [ 22 | { 23 | "type":"composer", 24 | "url":"https://wpackagist.org" 25 | } 26 | ], 27 | "require": { 28 | "php" : ">=7.2", 29 | "ipinfo/ipinfo": "^2.3" 30 | }, 31 | "extra": { 32 | "installer-paths": { 33 | "vendor/{$name}/": ["type:wordpress-plugin"] 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /core/class-cli.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/formidable/icon-formidable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Highfivery/zero-spam-for-wordpress/83752afac3c90e2f96abea6ce69f7f6aa745ac68/modules/formidable/icon-formidable.png -------------------------------------------------------------------------------- /modules/give/icon-givewp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Highfivery/zero-spam-for-wordpress/83752afac3c90e2f96abea6ce69f7f6aa745ac68/modules/give/icon-givewp.png -------------------------------------------------------------------------------- /modules/gravityforms/icon-gravity-forms.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /modules/wpuseravatar/icon-profilepress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Highfivery/zero-spam-for-wordpress/83752afac3c90e2f96abea6ce69f7f6aa745ac68/modules/wpuseravatar/icon-profilepress.png -------------------------------------------------------------------------------- /phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 10 | 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 11 | '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', 12 | '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', 13 | ); 14 | -------------------------------------------------------------------------------- /vendor/composer/autoload_namespaces.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/ipinfo/ipinfo/src'), 10 | 'Sabre\\Cache\\' => array($vendorDir . '/sabre/cache/lib'), 11 | 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), 12 | 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'), 13 | 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'), 14 | 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), 15 | 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), 16 | 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), 17 | ); 18 | -------------------------------------------------------------------------------- /vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 70300)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/src/BodySummarizer.php: -------------------------------------------------------------------------------- 1 | truncateAt = $truncateAt; 17 | } 18 | 19 | /** 20 | * Returns a summarized message body. 21 | */ 22 | public function summarize(MessageInterface $message): ?string 23 | { 24 | return $this->truncateAt === null 25 | ? \GuzzleHttp\Psr7\Message::bodySummary($message) 26 | : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php: -------------------------------------------------------------------------------- 1 | @,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m"; 22 | public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; 23 | } 24 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/vendor-bin/php-cs-fixer/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": "^7.2.5 || ^8.0", 4 | "friendsofphp/php-cs-fixer": "3.2.1" 5 | }, 6 | "config": { 7 | "preferred-install": "dist" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/vendor-bin/phpstan/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": "^7.2.5 || ^8.0", 4 | "phpstan/phpstan": "0.12.81", 5 | "phpstan/phpstan-deprecation-rules": "0.12.6" 6 | }, 7 | "config": { 8 | "preferred-install": "dist" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /vendor/guzzlehttp/psr7/vendor-bin/psalm/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": "^7.2.5 || ^8.0", 4 | "psalm/phar": "4.6.2" 5 | }, 6 | "config": { 7 | "preferred-install": "dist" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /vendor/ipinfo/ipinfo/.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [*.md] 15 | trim_trailing_whitespace = false 16 | -------------------------------------------------------------------------------- /vendor/ipinfo/ipinfo/.styleci.yml: -------------------------------------------------------------------------------- 1 | preset: psr2 2 | -------------------------------------------------------------------------------- /vendor/ipinfo/ipinfo/psalm.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /vendor/ipinfo/ipinfo/src/Details.php: -------------------------------------------------------------------------------- 1 | $value) { 13 | $this->$property = $value; 14 | } 15 | $this->all = $raw_details; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/ipinfo/ipinfo/src/IPinfoException.php: -------------------------------------------------------------------------------- 1 | =7.0.0", 23 | "psr/http-message": "^1.0" 24 | }, 25 | "autoload": { 26 | "psr-4": { 27 | "Psr\\Http\\Message\\": "src/" 28 | } 29 | }, 30 | "extra": { 31 | "branch-alias": { 32 | "dev-master": "1.0.x-dev" 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/psr/http-factory/src/RequestFactoryInterface.php: -------------------------------------------------------------------------------- 1 | =5.3.0" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Psr\\Http\\Message\\": "src/" 19 | } 20 | }, 21 | "extra": { 22 | "branch-alias": { 23 | "dev-master": "1.0.x-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/psr/simple-cache/.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | -------------------------------------------------------------------------------- /vendor/psr/simple-cache/README.md: -------------------------------------------------------------------------------- 1 | PHP FIG Simple Cache PSR 2 | ======================== 3 | 4 | This repository holds all interfaces related to PSR-16. 5 | 6 | Note that this is not a cache implementation of its own. It is merely an interface that describes a cache implementation. See [the specification](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-16-simple-cache.md) for more details. 7 | 8 | You can find implementations of the specification by looking for packages providing the [psr/simple-cache-implementation](https://packagist.org/providers/psr/simple-cache-implementation) virtual package. 9 | -------------------------------------------------------------------------------- /vendor/psr/simple-cache/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psr/simple-cache", 3 | "description": "Common interfaces for simple caching", 4 | "keywords": ["psr", "psr-16", "cache", "simple-cache", "caching"], 5 | "license": "MIT", 6 | "authors": [ 7 | { 8 | "name": "PHP-FIG", 9 | "homepage": "http://www.php-fig.org/" 10 | } 11 | ], 12 | "require": { 13 | "php": ">=5.3.0" 14 | }, 15 | "autoload": { 16 | "psr-4": { 17 | "Psr\\SimpleCache\\": "src/" 18 | } 19 | }, 20 | "extra": { 21 | "branch-alias": { 22 | "dev-master": "1.0.x-dev" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/psr/simple-cache/src/CacheException.php: -------------------------------------------------------------------------------- 1 | =5.6" 13 | }, 14 | "require-dev": { 15 | "phpunit/phpunit": "^5 || ^6.5", 16 | "php-coveralls/php-coveralls": "^2.1" 17 | }, 18 | "autoload": { 19 | "files": ["src/getallheaders.php"] 20 | }, 21 | "autoload-dev": { 22 | "psr-4": { 23 | "getallheaders\\Tests\\": "tests/" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/sabre/cache/.gitignore: -------------------------------------------------------------------------------- 1 | # Composer 2 | vendor/ 3 | composer.lock 4 | 5 | # Tests 6 | tests/cov/ 7 | tests/.phpunit.result.cache 8 | .php_cs.cache 9 | -------------------------------------------------------------------------------- /vendor/sabre/cache/.php_cs.dist: -------------------------------------------------------------------------------- 1 | getFinder() 5 | ->exclude('vendor') 6 | ->in(__DIR__); 7 | $config->setRules([ 8 | '@PSR1' => true, 9 | '@Symfony' => true 10 | ]); 11 | 12 | return $config; 13 | -------------------------------------------------------------------------------- /vendor/sabre/cache/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ChangeLog 2 | ========= 3 | 4 | 1.0.3 (2020-10-03) 5 | ------------------ 6 | 7 | * #25: Add support for PHP 8.0 (@phil-davis) 8 | 9 | 1.0.2 (2020-10-03) 10 | ------------------ 11 | 12 | * #18 #19 #20 #21 #22: Refactor CI (@phil-davis) 13 | * #14: Code refactor for phpstan and add support for PHP 7.4 (@phil-davis) 14 | 15 | 1.0.1 (2019-07-19) 16 | ------------------ 17 | 18 | * Memory::delete() must return bool (#11), thx to @webinarium 19 | 20 | 1.0.0 (2017-01-02) 21 | ------------------ 22 | 23 | * First version! 24 | * Supports Memcached, APCu and an in-process Memory Cache. 25 | * Supports PSR-16. 26 | -------------------------------------------------------------------------------- /vendor/sabre/cache/bin/EMPTY: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Highfivery/zero-spam-for-wordpress/83752afac3c90e2f96abea6ce69f7f6aa745ac68/vendor/sabre/cache/bin/EMPTY -------------------------------------------------------------------------------- /vendor/sabre/cache/lib/InvalidArgumentException.php: -------------------------------------------------------------------------------- 1 | markTestSkipped('Memcached extension is not loaded'); 15 | } 16 | 17 | if (!isset($_SERVER['MEMCACHED_SERVER'])) { 18 | $this->markTestSkipped('MEMCACHED_SERVER environment variable is not set'); 19 | } 20 | 21 | $memcached = new \Memcached(); 22 | $memcached->addServer($_SERVER['MEMCACHED_SERVER'], 11211); 23 | 24 | return new Memcached($memcached); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/sabre/cache/tests/Cache/MemoryCacheTest.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | . 13 | 14 | 15 | 16 | 17 | 18 | ../lib/ 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/ 2 | composer.lock 3 | phpunit.xml 4 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | CHANGELOG 2 | ========= 3 | 4 | The changelog is maintained for all Symfony contracts at the following URL: 5 | https://github.com/symfony/contracts/blob/main/CHANGELOG.md 6 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/deprecation-contracts", 3 | "type": "library", 4 | "description": "A generic function and convention to trigger deprecation notices", 5 | "homepage": "https://symfony.com", 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "Nicolas Grekas", 10 | "email": "p@tchwork.com" 11 | }, 12 | { 13 | "name": "Symfony Community", 14 | "homepage": "https://symfony.com/contributors" 15 | } 16 | ], 17 | "require": { 18 | "php": ">=7.1" 19 | }, 20 | "autoload": { 21 | "files": [ 22 | "function.php" 23 | ] 24 | }, 25 | "minimum-stability": "dev", 26 | "extra": { 27 | "branch-alias": { 28 | "dev-main": "2.4-dev" 29 | }, 30 | "thanks": { 31 | "name": "symfony/contracts", 32 | "url": "https://github.com/symfony/contracts" 33 | } 34 | } 35 | } 36 | --------------------------------------------------------------------------------