https://speed.cloudflare.com/

送信済みURL:
https://speed.cloudflare.com/
レポート終了日:

リンク · 6件検出

ページから特定された発信リンク

リンクテキスト
https://www.cloudflare.com/privacypolicy/privacy policy
https://developers.cloudflare.com/fundamentals/speed/aim/Learn more
https://radar.cloudflare.com/quality/as13335AS13335
https://radar.cloudflare.com/ip/2a09:bac5:312d:e64::16f:42a09:bac5:312d:e64::16f:4
https://www.cloudflare.com/website-terms/Terms of Use
https://www.cloudflare.com

JavaScript変数 · 18件検出

ページのウィンドウオブジェクトにロードされたグローバルのJavaScript変数は関数以外の場所で宣言された変数で、現在のスコープ内であればコードのどこからでもアクセス可能です

名前規模
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
webpackChunk_N_Eobject
regeneratorRuntimeobject
__next_require__function
nextobject
__NEXT_DATA__object
__SSG_MANIFEST_CBfunction
__NEXT_Pobject

コンソールログメッセージ · 3件検出

Webコンソールにログ記録されたメッセージ

規模分類ログ
warningother
テキスト
Error with Feature-Policy header: Unrecognized feature: 'none'.
errorother
URL
https://speed.cloudflare.com/_next/static/chunks/framework-bb5c596eafb42b22.js
テキスト
Error: <rect> attribute width: Expected length, "NaN%".
errorother
URL
https://speed.cloudflare.com/_next/static/chunks/framework-bb5c596eafb42b22.js
テキスト
Error: <rect> attribute width: Expected length, "NaN%".

HTML

未加工のHTMLページ本文

<!DOCTYPE html><html class=""><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><title>Internet Speed Test - Measure Network Performance | Cloudflare</title><meta name="next-head-count" content="3"><meta charset="utf-8"><link rel="icon" href="https://www.cloudflare.com/favicon.ico"><link rel="canonical" href="https://speed.cloudflare.com/"><meta name="description" content="Test your Internet connection. Check your network performance with our Internet speed test. Powered by Cloudflare's global edge network."><meta property="og:url" content="https://speed.cloudflare.com"><meta property="og:image" content="https://speed.cloudflare.com/static/img/card5.png"><meta property="og:type" content="website"><meta property="og:title" content="Internet Speed Test - Measure Network Performance | Cloudflare"><meta property="og:description" content="Test your Internet connection. Check your network performance with our Internet speed test. Powered by Cloudflare's global edge network."><meta property="twitter:site" content="cloudflare"><meta property="twitter:card" content="summary_large_image"><meta property="twitter:image" content="https://speed.cloudflare.com/static/img/card5.png"><meta property="twitter:title" content="Internet Speed Test - Measure Network Performance | Cloudflare"><meta property="twitter:description" content="Test your Internet connection. Check your network performance with our Internet speed test. Powered by Cloudflare's global edge network."><link rel="preload" href="/_next/static/css/23e054799aa89f3a.css" as="style"><link rel="stylesheet" href="/_next/static/css/23e054799aa89f3a.css" data-n-p=""><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-13950375ac853d97.js" defer=""></script><script src="/_next/static/chunks/framework-bb5c596eafb42b22.js" defer=""></script><script src="/_next/static/chunks/main-ac2245a692396b05.js" defer=""></script><script src="/_next/static/chunks/pages/_app-24a05d6eeee62aa5.js" defer=""></script><script src="/_next/static/chunks/c16184b3-64cf1234ee41dc24.js" defer=""></script><script src="/_next/static/chunks/75fc9c18-40134325ca6388e2.js" defer=""></script><script src="/_next/static/chunks/420-a364527be043a9ab.js" defer=""></script><script src="/_next/static/chunks/320-a0c98b7dcebb418d.js" defer=""></script><script src="/_next/static/chunks/339-7eced1c292b785dd.js" defer=""></script><script src="/_next/static/chunks/pages/index-bfa12fafe6fabdd6.js" defer=""></script><script src="/_next/static/OiaEaWLM5XAOBEW0HF9dl/_buildManifest.js" defer=""></script><script src="/_next/static/OiaEaWLM5XAOBEW0HF9dl/_ssgManifest.js" defer=""></script><style type="text/css">.__react_component_tooltip {
  border-radius: 3px;
  display: inline-block;
  font-size: 13px;
  left: -999em;
  opacity: 0;
  padding: 8px 21px;
  position: fixed;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
  top: -999em;
  visibility: hidden;
  z-index: 999;
}
.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {
  pointer-events: auto;
}
.__react_component_tooltip:before, .__react_component_tooltip:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
}
.__react_component_tooltip.show {
  opacity: 0.9;
  margin-top: 0px;
  margin-left: 0px;
  visibility: visible;
}
.__react_component_tooltip.type-dark {
  color: #fff;
  background-color: #222;
}
.__react_component_tooltip.type-dark.place-top:after {
  border-top-color: #222;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-dark.place-bottom:after {
  border-bottom-color: #222;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-dark.place-left:after {
  border-left-color: #222;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-dark.place-right:after {
  border-right-color: #222;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-dark.border {
  border: 1px solid #fff;
}
.__react_component_tooltip.type-dark.border.place-top:before {
  border-top: 8px solid #fff;
}
.__react_component_tooltip.type-dark.border.place-bottom:before {
  border-bottom: 8px solid #fff;
}
.__react_component_tooltip.type-dark.border.place-left:before {
  border-left: 8px solid #fff;
}
.__react_component_tooltip.type-dark.border.place-right:before {
  border-right: 8px solid #fff;
}
.__react_component_tooltip.type-success {
  color: #fff;
  background-color: #8DC572;
}
.__react_component_tooltip.type-success.place-top:after {
  border-top-color: #8DC572;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-success.place-bottom:after {
  border-bottom-color: #8DC572;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-success.place-left:after {
  border-left-color: #8DC572;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-success.place-right:after {
  border-right-color: #8DC572;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-success.border {
  border: 1px solid #fff;
}
.__react_component_tooltip.type-success.border.place-top:before {
  border-top: 8px solid #fff;
}
.__react_component_tooltip.type-success.border.place-bottom:before {
  border-bottom: 8px solid #fff;
}
.__react_component_tooltip.type-success.border.place-left:before {
  border-left: 8px solid #fff;
}
.__react_component_tooltip.type-success.border.place-right:before {
  border-right: 8px solid #fff;
}
.__react_component_tooltip.type-warning {
  color: #fff;
  background-color: #F0AD4E;
}
.__react_component_tooltip.type-warning.place-top:after {
  border-top-color: #F0AD4E;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-warning.place-bottom:after {
  border-bottom-color: #F0AD4E;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-warning.place-left:after {
  border-left-color: #F0AD4E;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-warning.place-right:after {
  border-right-color: #F0AD4E;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-warning.border {
  border: 1px solid #fff;
}
.__react_component_tooltip.type-warning.border.place-top:before {
  border-top: 8px solid #fff;
}
.__react_component_tooltip.type-warning.border.place-bottom:before {
  border-bottom: 8px solid #fff;
}
.__react_component_tooltip.type-warning.border.place-left:before {
  border-left: 8px solid #fff;
}
.__react_component_tooltip.type-warning.border.place-right:before {
  border-right: 8px solid #fff;
}
.__react_component_tooltip.type-error {
  color: #fff;
  background-color: #BE6464;
}
.__react_component_tooltip.type-error.place-top:after {
  border-top-color: #BE6464;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-error.place-bottom:after {
  border-bottom-color: #BE6464;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-error.place-left:after {
  border-left-color: #BE6464;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-error.place-right:after {
  border-right-color: #BE6464;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-error.border {
  border: 1px solid #fff;
}
.__react_component_tooltip.type-error.border.place-top:before {
  border-top: 8px solid #fff;
}
.__react_component_tooltip.type-error.border.place-bottom:before {
  border-bottom: 8px solid #fff;
}
.__react_component_tooltip.type-error.border.place-left:before {
  border-left: 8px solid #fff;
}
.__react_component_tooltip.type-error.border.place-right:before {
  border-right: 8px solid #fff;
}
.__react_component_tooltip.type-info {
  color: #fff;
  background-color: #337AB7;
}
.__react_component_tooltip.type-info.place-top:after {
  border-top-color: #337AB7;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-info.place-bottom:after {
  border-bottom-color: #337AB7;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-info.place-left:after {
  border-left-color: #337AB7;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-info.place-right:after {
  border-right-color: #337AB7;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-info.border {
  border: 1px solid #fff;
}
.__react_component_tooltip.type-info.border.place-top:before {
  border-top: 8px solid #fff;
}
.__react_component_tooltip.type-info.border.place-bottom:before {
  border-bottom: 8px solid #fff;
}
.__react_component_tooltip.type-info.border.place-left:before {
  border-left: 8px solid #fff;
}
.__react_component_tooltip.type-info.border.place-right:before {
  border-right: 8px solid #fff;
}
.__react_component_tooltip.type-light {
  color: #222;
  background-color: #fff;
}
.__react_component_tooltip.type-light.place-top:after {
  border-top-color: #fff;
  border-top-style: solid;
  border-top-width: 6px;
}
.__react_component_tooltip.type-light.place-bottom:after {
  border-bottom-color: #fff;
  border-bottom-style: solid;
  border-bottom-width: 6px;
}
.__react_component_tooltip.type-light.place-left:after {
  border-left-color: #fff;
  border-left-style: solid;
  border-left-width: 6px;
}
.__react_component_tooltip.type-light.place-right:after {
  border-right-color: #fff;
  border-right-style: solid;
  border-right-width: 6px;
}
.__react_component_tooltip.type-light.border {
  border: 1px solid #222;
}
.__react_component_tooltip.type-light.border.place-top:before {
  border-top: 8px solid #222;
}
.__react_component_tooltip.type-light.border.place-bottom:before {
  border-bottom: 8px solid #222;
}
.__react_component_tooltip.type-light.border.place-left:before {
  border-left: 8px solid #222;
}
.__react_component_tooltip.type-light.border.place-right:before {
  border-right: 8px solid #222;
}
.__react_component_tooltip.place-top {
  margin-top: -10px;
}
.__react_component_tooltip.place-top:before {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  bottom: -8px;
  left: 50%;
  margin-left: -10px;
}
.__react_component_tooltip.place-top:after {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  bottom: -6px;
  left: 50%;
  margin-left: -8px;
}
.__react_component_tooltip.place-bottom {
  margin-top: 10px;
}
.__react_component_tooltip.place-bottom:before {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  top: -8px;
  left: 50%;
  margin-left: -10px;
}
.__react_component_tooltip.place-bottom:after {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  top: -6px;
  left: 50%;
  margin-left: -8px;
}
.__react_component_tooltip.place-left {
  margin-left: -10px;
}
.__react_component_tooltip.place-left:before {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  right: -8px;
  top: 50%;
  margin-top: -5px;
}
.__react_component_tooltip.place-left:after {
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  right: -6px;
  top: 50%;
  margin-top: -4px;
}
.__react_component_tooltip.place-right {
  margin-left: 10px;
}
.__react_component_tooltip.place-right:before {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  left: -8px;
  top: 50%;
  margin-top: -5px;
}
.__react_component_tooltip.place-right:after {
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  left: -6px;
  top: 50%;
  margin-top: -4px;
}
.__react_component_tooltip .multi-line {
  display: block;
  padding: 2px 0px;
  text-align: center;
}</style><style id="erd_scroll_detection_scrollbar_style">/* Created by the element-resize-detector library. */
.erd_scroll_detection_container > div::-webkit-scrollbar { display: none; }

.erd_scroll_detection_container_animation_active { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: erd_scroll_detection_container_animation; animation-name: erd_scroll_detection_container_animation; }
@-webkit-keyframes erd_scroll_detection_container_animation { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }
@keyframes erd_scroll_detection_container_animation { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }</style><style data-fela-type="STATIC" type="text/css">@keyframes blink { 50% { opacity: 0 }}</style><style data-fela-type="RULE" type="text/css"></style><style data-fela-type="RULE" type="text/css" media="(min-width: 0px) and (max-width: 768px)"></style><style data-fela-type="RULE" type="text/css" media="(min-width: 768px) and (max-width: 1800px)"></style><style data-fela-type="RULE" type="text/css" media="(min-width: 1800px)"></style><style data-react-tooltip="true">.__react_component_tooltip {
  border-radius: 3px;
  display: inline-block;
  font-size: 13px;
  left: -999em;
  opacity: 0;
  position: fixed;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
  top: -999em;
  visibility: hidden;
  z-index: 999;
}
.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {
  pointer-events: auto;
}
.__react_component_tooltip::before, .__react_component_tooltip::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
}
.__react_component_tooltip.show {
  opacity: 0.9;
  margin-top: 0;
  margin-left: 0;
  visibility: visible;
}
.__react_component_tooltip.place-top::before {
  bottom: 0;
  left: 50%;
  margin-left: -11px;
}
.__react_component_tooltip.place-bottom::before {
  top: 0;
  left: 50%;
  margin-left: -11px;
}
.__react_component_tooltip.place-left::before {
  right: 0;
  top: 50%;
  margin-top: -9px;
}
.__react_component_tooltip.place-right::before {
  left: 0;
  top: 50%;
  margin-top: -9px;
}
.__react_component_tooltip .multi-line {
  display: block;
  padding: 2px 0;
  text-align: center;
}</style><style data-fela-type="RULE" type="text/css" media="(min-width: 768px)"></style><link rel="stylesheet" type="text/css" href="/_next/static/css/61441bcdee12fd2b.css"></head><body style="overflow-y: hidden;"><div id="__next" data-reactroot=""><div class=""><div class="a b c d" style="position: relative;"><div class="e f g"><div class="h i"></div><div class="j k c l m"><a href="/" class="" style="text-decoration: none;"><div class="c n"><div class=""><img height="28px" src="/static/img/speedrabbit-static.png"></div><div class="o p q r s t">Speed Test</div></div></a><a href="/about/" class="u v w x y">About</a></div><div class="z ab ac ae"></div><div class="af ag"></div><div class="ah ai c aj ak al am an ao ap n aq"><div class="ar as at au"></div><div class="av ai aw c ax ay ap az ba"><div class="au ba"><p class="bb bc">When you run Speed Test, your IP address will be shared with Cloudflare and processed in accordance with our <a href="https://www.cloudflare.com/privacypolicy/">privacy policy</a>. &nbsp;<br><a class="bd"><span class="be">Learn More</span> <span class="arrowSwivel bf bg bh bi bj"><svg class="bk bl bm bn" aria-label="caret-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="false" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg></span></a></p><div class="bo bp bq br bs bt"><p class="bb">When you use Speed Test, Cloudflare receives the IP address you use to connect to Cloudflare’s Speed Test service. Cloudflare uses your IP address to estimate your geolocation (at the country and city levels) and to identify the Autonomous System Number (ASN) associated with your IP address.</p><p>Cloudflare shares anonymized measurement information (e.g., the estimated geolocation, ASN associated with your Speed Test, etc.) with our measurement partners as part of Cloudflare’s contribution to a shared Internet performance database. We do not share your IP address with our measurement partners.</p><p>As a part of this Speed Test, Cloudflare receives the following information:</p><ul><li>Your IP address;</li><li>An estimate of your location (Country, City);</li><li>The Autonomous System Number of your ISP (ASN).</li></ul><p>Cloudflare truncates your IP address that it receives as part of your use of the Speed Test to /24 and /48 for IPv4 and IPv6 addresses, respectively.</p></div></div><div class="bu bv"><button type="button" class="bw bx by bz ca cb cc cd ce cf cg ch ci cj bd n d ck cl cm cn co cp cq cr cs bt ct cu cv cw cx cy cz bf da db dc dd de df dg dh bb k di j dj dk dl dm dn do dp dq dr ds"><svg class="bk bl q dt du bn" aria-label="start" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="false" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg>Start</button><div class="bo dv dw be">Note: A speed test can consume up to 200MB of data.</div></div></div></div><div class="ek el em en eo ep eq er es et"><div class="c ap" style="grid-area: overview;"><div class="i c n"><div class="eu ev">Your Internet Speed</div></div><div class="g"><div class="c gh ap"><div class="gi gj"></div><div class="ek el em gk eo ep eq gl gm g"><div class="c ap" style="grid-area: download;"><div class="c gh ap"><div class="c n"><div class="gn"></div><div class="dw ev">Download</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_10" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7 place-right type-dark" id="single_tooltip_10" data-id="tooltip"><style aria-hidden="true">
  	.t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-top {
        margin-top: -10px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-bottom {
        margin-top: 10px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-left {
        margin-left: -10px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-right {
        margin-left: 10px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t8097c8b4-5a09-4fd9-871a-b8dc2edbc1f7.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Download determines how fast your network connection can get data from the test network. This is important when downloading large files such as updates for applications or streaming video services. Download speed is tested by downloading files of various sizes. The number reported represents the 90th percentile of all download measurements and not the absolute maximum. Scroll down to view details.</div></div></div></div><div class="g"></div><div class="c go"><div class="gp ev gq c gr gs"><div class="c n"><div class="">&nbsp;</div><div class="gt">-</div></div></div></div><div class="g"></div><div class="dv dx"></div><div class="gu"></div></div></div><div class="c ap" style="grid-area: other;"><div class="c gh"><div class="c e gv ap"><div class="c n"><div class="gn"></div><div class="dw ev">Upload</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_11" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip tde2b7465-1840-42ef-b1ac-137a75d14a4b place-right type-dark" id="single_tooltip_11" data-id="tooltip"><style aria-hidden="true">
  	.tde2b7465-1840-42ef-b1ac-137a75d14a4b {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-top {
        margin-top: -10px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-bottom {
        margin-top: 10px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-left {
        margin-left: -10px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-right {
        margin-left: 10px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tde2b7465-1840-42ef-b1ac-137a75d14a4b.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Upload determines how fast your network connection can transfer data to the test network. This is especially important for applications such as FTP or if you are the source for a live video stream. Upload speed is tested by uploading files of various sizes. The number reported represents the 90th percentile of all upload measurements and not the absolute maximum. Scroll down to view details.</div></div></div></div><div class="g"></div><div class="c go"><div class="gt ev gq c gw gs"><div class="c n"><div class="">&nbsp;</div><div class="gt">-</div></div></div></div><div class="g"></div><div class="dv dx"></div><div class="gu"></div></div><div class="p q"></div><div class="c e g ap"><div class="c n"><div class="gn"></div><div class="dw ev">Latency</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_12" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t2c4b3a18-95bd-445f-b466-1b53dab0ff9c place-left type-dark" id="single_tooltip_12" data-id="tooltip"><style aria-hidden="true">
  	.t2c4b3a18-95bd-445f-b466-1b53dab0ff9c {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-top {
        margin-top: -10px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-bottom {
        margin-top: 10px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-left {
        margin-left: -10px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-right {
        margin-left: 10px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t2c4b3a18-95bd-445f-b466-1b53dab0ff9c.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Round trip time latency (or RTT) is the time it takes for a packet to be sent from your computer to Cloudflare's network and back. It is especially important for applications such as gaming and video chat, where you want to be as up to date as possible. The number reported represents the median of all RTT measurements. Lower RTT is better.</div></div></div></div><div class="g"></div><div class="c go"><div class="gt ev gq c gw gs"><div class="c n"><div class="">&nbsp;</div><div class="gt">-</div></div></div></div><div class="c dy gx gy"></div><div class="gz"></div><div class="dv dx"></div><div class="c n"><div class="gn"></div><div class="dw ev">Jitter</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_13" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506 place-left type-dark" id="single_tooltip_13" data-id="tooltip"><style aria-hidden="true">
  	.t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-top {
        margin-top: -10px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-bottom {
        margin-top: 10px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-left {
        margin-left: -10px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-right {
        margin-left: 10px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9b1e2796-bddc-4b1c-97f9-c8eb52d8a506.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Although median RTT is important, it only paints half the picture. RTT can go up and down from time to time, which is noticeable in applications like video chat, gaming, or streaming. Jitter gives you insight into how much variation we see in the RTT measurements. It's calculated as the average distance between consecutive RTT measurements. Lower jitter is better.</div></div></div></div><div class="g"></div><div class="c go"><div class="gt ev gq c gw gs"><div class="c n"><div class="">&nbsp;</div><div class="gt">-</div></div></div></div><div class="c dy gx gy"></div><div class="gz"></div><div class="dv dx"></div><div class="c n"><div class="gn"></div><div class="dw ev">Packet Loss</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_14" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t9f6fb682-814f-42c5-b717-31045b4ddbed place-left type-dark" id="single_tooltip_14" data-id="tooltip"><style aria-hidden="true">
  	.t9f6fb682-814f-42c5-b717-31045b4ddbed {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t9f6fb682-814f-42c5-b717-31045b4ddbed.place-top {
        margin-top: -10px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-bottom {
        margin-top: 10px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-left {
        margin-left: -10px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-right {
        margin-left: 10px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9f6fb682-814f-42c5-b717-31045b4ddbed.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Packet loss indicates the presence of packets that are lost in the communication with the testing network. A high packet loss rate can cause jitter to rise and disrupt real-time sensitive applications like streaming and gaming. It's calculated as the percentage of UDP packets that are not received after being relayed through a WebRTC TURN server.</div></div></div></div><div class="g"></div><div class="c go"><div class="gt ev gq c gw gs"><div class="c n"><div class="">&nbsp;</div><div class="gt">-</div></div></div></div><div class="g"></div></div></div></div></div><div class="ab fv"></div><div class="c ha n m"><div class="c n"><div class="c n"><button type="button" class="bw hb by bz hc hd cc cd ce he hf ch ci cj bd n d ck cl cm hg hh hi hj cr cs bt ct cu cv cw cx cy cz bf da db dc dd de df dg dh bb ey di ex fn fo dl dm hk hl hm dw dr ds"><svg class="bk bl ey du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg><div class="ex fs">Resume</div></button><button type="button" class="bw hb by bz hc hd cc cd ce he hf ch ci cj bd n d ck cl cm hg hh hi hj cr cs bt ct cu cv cw cx cy cz bf da db dc dd de df dg dh bb ey di ex fn fo dl dm hk hl hm dw dr ds"><svg class="bk bl ey du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M7.999 2c1.53 0 3.004.586 4.117 1.638l-.317-2.088.988-.15.558 3.664-3.666.557-.15-.989 1.882-.285a4.982 4.982 0 101.46 2.528l.976-.225A6 6 0 117.999 2z"></path></svg><div class="ex fs">Retest</div></button><div class="ex ey"></div><div class="hn be dw">Paused</div></div></div></div></div></div></div><div class="c ap" style="grid-area: overviewSeparator;"><div class="z ac ae"></div></div><div class="c ap" style="grid-area: separator2;"><div class="z ac ae"></div></div><div class="c ap" style="grid-area: scores;"><div class="i c n"><div class="eu ev">Network Quality Score</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_1" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t1be8751f-91ab-424e-8dfe-3c8bfddad9d9 place-top type-dark" id="single_tooltip_1" data-id="tooltip"><style aria-hidden="true">
  	.t1be8751f-91ab-424e-8dfe-3c8bfddad9d9 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-top {
        margin-top: -10px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-bottom {
        margin-top: 10px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-left {
        margin-left: -10px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-right {
        margin-left: 10px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t1be8751f-91ab-424e-8dfe-3c8bfddad9d9.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Aggregated Internet Measurement (AIM) helps you understand your Internet quality to identify scenarios that your Internet connection is good or bad for. Typically, an Internet speed test provides you with upload and download speeds, which may not always provide a holistic view of your Internet quality.</div></div></div><a href="https://developers.cloudflare.com/fundamentals/speed/aim/" target="_blank" rel="noreferrer" class="p ff">Learn more</a></div><div class="g"><div class="fg fh fi fj az"><div class="fk dv dx dw da">waiting to finish measurements...</div></div></div></div><div class="c ap" style="grid-area: map;"><div class="i c n"><div class="eu ev">Server Location</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_2" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t9cd6e60e-d535-4167-a7d3-ac3626321c24 place-top type-dark" id="single_tooltip_2" data-id="tooltip"><style aria-hidden="true">
  	.t9cd6e60e-d535-4167-a7d3-ac3626321c24 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-top {
        margin-top: -10px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-bottom {
        margin-top: 10px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-left {
        margin-left: -10px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-right {
        margin-left: 10px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9cd6e60e-d535-4167-a7d3-ac3626321c24.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Shows the data center that’s currently being used to test your network connection. Data center locations are tracked as airport codes and may not be 100% accurate.</div></div></div></div><div class="g"><div class="fg fh fi fj az"><div class="bf ho hp hq">Unable to display map: browser does not support WebGL</div><div class="ab ff"><div class="dv c n"><svg class="bk bl du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M2 10.5l-.5.5v2.75l.5.5h2.75l.5-.5V11l-.5-.5H2zm2.25 2.75H2.5V11.5h1.75v1.75zM7.928 1.498l-2.25 2.25L7.928 6l2.25-2.25-2.25-2.25zM3.76 9.058h8.335v1.14h.982V8.073h-4.65v-1.6h-1v1.6H2.776v2.125h.985v-1.14zM12.5 10.5a2 2 0 100 4 2 2 0 000-4zm0 3a1 1 0 110-2 1 1 0 010 2z"></path></svg><div class="ex ey"></div><div class="">Connected via <span class="w">IPv6</span></div></div><div class="dv c n"><svg class="bk bl du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M12.375 7.409a.523.523 0 100-1.046.523.523 0 000 1.046z"></path><path fill-rule="evenodd" d="M3.863 2.183L4.25 2h7.5l.387.183 2.25 2.75.113.317v.14l.002.002v3.213l-.5.5H2l-.5-.5V5.25l.113-.317 2.25-2.75zM2.5 5.892v2.213h11.002V6.25H13.5v-.358h-11zm10.56-1H2.94L4.486 3h7.026l1.548 1.892z"></path><path d="M12.375 12.303a.523.523 0 100-1.047.523.523 0 000 1.046z"></path><path fill-rule="evenodd" d="M2 9.785l-.5.5v3.213l.5.5h12.002l.5-.5v-3.213l-.5-.5H2zm.5 3.213v-2.213h11.002v2.213H2.5z"></path></svg><div class="ex ey"></div><div class="">Server location: <span class="w">Madrid</span></div></div><div class="dv c n"><svg class="bk bl du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.363A5.083 5.083 0 002.922 6.44c0 3.5 4.448 9.25 4.638 9.48h.785c.195-.25 4.732-6 4.732-9.485A5.083 5.083 0 008 1.363zm-.043 13.42c-1.08-1.478-4.035-5.75-4.035-8.343a4.078 4.078 0 118.155 0c0 2.588-3.017 6.867-4.12 8.343z"></path><path d="M7.98 4.25a2.25 2.25 0 100 4.5 2.25 2.25 0 000-4.5zm0 3.5A1.25 1.25 0 119.23 6.5a1.25 1.25 0 01-1.25 1.268V7.75z"></path></svg><div class="ex ey"></div><div class="">Your network: <span class="w">Cloudflare Warp<span> (<a href="https://radar.cloudflare.com/quality/as13335" target="_blank" rel="noreferrer">AS13335</a>)</span></span></div></div><div class="dv c n"><svg class="bk bl du bn" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M3.623 5.4a.522.522 0 100-1.045.522.522 0 000 1.045zM5.298 5.4a.522.522 0 100-1.045.522.522 0 000 1.045zM6.97 5.4a.522.522 0 100-1.045.522.522 0 000 1.045z"></path><path d="M14 3.017H2l-.5.5v9.968l.5.5h12l.5-.5V3.517l-.5-.5zm-.5 1V5.75h-11V4.017h11zm-11 8.968V6.75h11V13l-11-.015z"></path></svg><div class="ex ey"></div><div class="">Your IP address: <span class="w"><a href="https://radar.cloudflare.com/ip/2a09:bac5:312d:e64::16f:4" target="_blank" rel="noreferrer">2a09:bac5:312d:e64::16f:4</a></span></div></div></div></div></div></div><div class="c ap" style="grid-area: latency;"><div class="i c n"><div class="eu ev">Latency Measurements</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_3" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip tacb50603-ac80-4670-bc8e-58c3f49b9180 place-top type-dark" id="single_tooltip_3" data-id="tooltip"><style aria-hidden="true">
  	.tacb50603-ac80-4670-bc8e-58c3f49b9180 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.tacb50603-ac80-4670-bc8e-58c3f49b9180.place-top {
        margin-top: -10px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-bottom {
        margin-top: 10px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-left {
        margin-left: -10px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-right {
        margin-left: 10px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tacb50603-ac80-4670-bc8e-58c3f49b9180.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Each measurement represents the amount of time an HTTP request took to reach the server. It’s calculated by determining the time to first byte and subtracting the amount of processing time the server took to handle the request.</div></div></div></div><div class="g"><div class="dx fl fm fh fi fj az"><div class="fn fo dl dm az bd fp fq fr"><div data-tip="true" data-for="single_tooltip_4" currentitem="false"><div class="ac"><div class="c m"><div class="fs w"><span class="">Unloaded latency</span> <span class="ft w">(0/1)</span></div><span class="arrowSwivel bf bg bh fu bj"><svg class="fa bl bo fc" aria-label="caret-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="false" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg></span></div><div class="ab fv"></div><div class="ac gd bf"><div class="fy fz dw c ac gd n gb">waiting for measurements...</div><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 72px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div><div class="fw fx"></div><div style="position: relative;"><svg width="100%" height="2"><rect x="0" y="0" width="100%" height="2" class="ge"></rect><rect color="#ffce4b" x="0" y="0" width="0%" height="2" class="gf"></rect></svg><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 49px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div></div></div><div class="__react_component_tooltip tc5378ad7-8b9d-4600-becb-72b15b5a0692 place-top type-dark" id="single_tooltip_4" data-id="tooltip"><style aria-hidden="true">
  	.tc5378ad7-8b9d-4600-becb-72b15b5a0692 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-top {
        margin-top: -10px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-bottom {
        margin-top: 10px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-left {
        margin-left: -10px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-right {
        margin-left: 10px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tc5378ad7-8b9d-4600-becb-72b15b5a0692.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe"><div class="">The thick bar covers all measurements that fall within the 25th to 75th percentile. The solid line marks the median score whilst the dotted line represents average.</div><ul class=""><li class="">Min: <b>∞s</b></li><li class="">Max: <b>-∞s</b></li><li class="">Average: <b>NaN s</b></li><li class="">Median: <b>0 s</b></li><li class="">25th percentile: <b>0 s</b></li><li class="">75th percentile: <b>0 s</b></li></ul></div></div></div></div><div class="dx fl fm fh fi fj az"><div class="fn fo dl dm az bd fp fq fr"><div data-tip="true" data-for="single_tooltip_5" currentitem="false"><div class="ac"><div class="c m"><div class="fs w"><span class="">Latency during download</span> <span class="ft w">(0)</span></div><span class="arrowSwivel bf bg bh fu bj"><svg class="fa bl bo fc" aria-label="caret-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="false" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg></span></div><div class="ab fv"></div><div class="ac gd bf"><div class="fy fz dw c ac gd n gb">waiting for measurements...</div><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 72px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div><div class="fw fx"></div><div style="position: relative;"><svg width="100%" height="2"><rect x="0" y="0" width="100%" height="2" class="ge"></rect><rect color="#2db35e" x="0" y="0" width="NaN%" height="2" class="gg"></rect></svg><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 49px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div></div></div><div class="__react_component_tooltip t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221 place-top type-dark" id="single_tooltip_5" data-id="tooltip"><style aria-hidden="true">
  	.t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-top {
        margin-top: -10px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-bottom {
        margin-top: 10px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-left {
        margin-left: -10px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-right {
        margin-left: 10px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t9de33cf6-f3b7-47e9-9cf0-bf12d2e6b221.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe"><div class="">The thick bar covers all measurements that fall within the 25th to 75th percentile. The solid line marks the median score whilst the dotted line represents average.</div><ul class=""><li class="">Min: <b>∞s</b></li><li class="">Max: <b>-∞s</b></li><li class="">Average: <b>NaN s</b></li><li class="">Median: <b>0 s</b></li><li class="">25th percentile: <b>0 s</b></li><li class="">75th percentile: <b>0 s</b></li></ul></div></div></div></div><div class="dx fl fm fh fi fj az"><div class="fn fo dl dm az bd fp fq fr"><div data-tip="true" data-for="single_tooltip_6" currentitem="false"><div class="ac"><div class="c m"><div class="fs w"><span class="">Latency during upload</span> <span class="ft w">(0)</span></div><span class="arrowSwivel bf bg bh fu bj"><svg class="fa bl bo fc" aria-label="caret-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="false" focusable="false"><path d="M4.488 1.85l.854-.353 6.15 6.15v.707l-6.15 6.15-.854-.354V1.85z"></path></svg></span></div><div class="ab fv"></div><div class="ac gd bf"><div class="fy fz dw c ac gd n gb">waiting for measurements...</div><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 72px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div><div class="fw fx"></div><div style="position: relative;"><svg width="100%" height="2"><rect x="0" y="0" width="100%" height="2" class="ge"></rect><rect color="#2db35e" x="0" y="0" width="NaN%" height="2" class="gg"></rect></svg><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 49px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div></div></div><div class="__react_component_tooltip tf24046ce-b337-4150-abbf-5ea1880dcecc place-top type-dark" id="single_tooltip_6" data-id="tooltip"><style aria-hidden="true">
  	.tf24046ce-b337-4150-abbf-5ea1880dcecc {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.tf24046ce-b337-4150-abbf-5ea1880dcecc.place-top {
        margin-top: -10px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-bottom {
        margin-top: 10px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-left {
        margin-left: -10px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-right {
        margin-left: 10px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .tf24046ce-b337-4150-abbf-5ea1880dcecc.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe"><div class="">The thick bar covers all measurements that fall within the 25th to 75th percentile. The solid line marks the median score whilst the dotted line represents average.</div><ul class=""><li class="">Min: <b>∞s</b></li><li class="">Max: <b>-∞s</b></li><li class="">Average: <b>NaN s</b></li><li class="">Median: <b>0 s</b></li><li class="">25th percentile: <b>0 s</b></li><li class="">75th percentile: <b>0 s</b></li></ul></div></div></div></div></div></div><div class="c ap" style="grid-area: packetLoss;"><div class="i c n"><div class="eu ev">Packet Loss Measurements</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_7" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t61782627-ee2e-4a26-b41c-ab8c1d420b09 place-top type-dark" id="single_tooltip_7" data-id="tooltip"><style aria-hidden="true">
  	.t61782627-ee2e-4a26-b41c-ab8c1d420b09 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-top {
        margin-top: -10px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-bottom {
        margin-top: 10px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-left {
        margin-left: -10px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-right {
        margin-left: 10px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t61782627-ee2e-4a26-b41c-ab8c1d420b09.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Each measurement represents a UDP packet that was sent to the TURN server for relaying. The WebRTC packet receiver is also configured in this application, thus every packet that is not received contributes to the packet loss rate. After sending all the test packets, there is a short time window to wait for the reception of all the packets still in transit.</div></div></div></div><div class="g"><div class="fl fm fh fi fj az"><div class="fn fo dl dm az bd fp fq fr"><div class="ac"><div class="c m"><div class="fs w"><span class="">Packet Loss Test</span> </div></div><div class="ab fv"></div><div class="fy fz dw c ac ga n gb">waiting for measurements...</div><div style="position: relative;"><svg width="100%" height="2"><rect x="0" y="0" width="100%" height="2" class="ge"></rect><rect color="#ffce4b" x="0" y="0" width="0%" height="2" class="gf"></rect></svg><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 371px; height: 49px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div></div></div></div></div></div><div class="c ap" style="grid-area: download;"><div class="i c n"><div class="eu ev">Download Measurements</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_8" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421 place-top type-dark" id="single_tooltip_8" data-id="tooltip"><style aria-hidden="true">
  	.ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-top {
        margin-top: -10px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-bottom {
        margin-top: 10px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-left {
        margin-left: -10px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-right {
        margin-left: 10px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .ta99ba7a8-5e4a-4aa4-bd1d-9a5a0bd26421.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Each measurement represents the actual time it took to transfer the file. To do this, we start measuring from the moment we start receiving the actual first byte of data. This omits the time required to actually perform and process the actual HTTP request.</div></div></div></div><div class="g"><div class="dx fg fh fi fj az"><div class="fy fz dw c ac gc n gb">waiting for measurements...</div></div></div></div><div class="c ap" style="grid-area: upload;"><div class="i c n"><div class="eu ev">Upload Measurements</div><div class="ew ex ey bh"><div data-tip="true" data-for="single_tooltip_9" currentitem="false"><div class="ez"><svg class="fa bl fb fc" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" focusable="false"><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zm0 12a5.5 5.5 0 110-11 5.5 5.5 0 010 11z"></path><path d="M8.572 6.253H6.607v1h.965v3.812H6.397v1h3.35v-1H8.572V6.253zM8.49 4.032H7.235v1.255H8.49V4.032z"></path></svg></div></div><div class="__react_component_tooltip t2ac02eb8-f0a0-4294-b3a5-89cf844f4390 place-top type-dark" id="single_tooltip_9" data-id="tooltip"><style aria-hidden="true">
  	.t2ac02eb8-f0a0-4294-b3a5-89cf844f4390 {
	    color: #fff;
	    background: #222;
	    border: 1px solid transparent;
	    border-radius: undefinedpx;
	    padding: 8px 21px;
  	}

  	.t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-top {
        margin-top: -10px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-top::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: 2;
        width: 20px;
        height: 12px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-top::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        bottom: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(135deg);
    }

    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-bottom {
        margin-top: 10px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-bottom::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 18px;
        height: 10px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-bottom::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        top: -6px;
        left: 50%;
        margin-left: -6px;
        transform: rotate(45deg);
    }

    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-left {
        margin-left: -10px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-left::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-left::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        right: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(45deg);
    }

    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-right {
        margin-left: 10px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-right::before {
        content: "";
        background-color: inherit;
        position: absolute;
        z-index: -1;
        width: 10px;
        height: 18px;
    }
    .t2ac02eb8-f0a0-4294-b3a5-89cf844f4390.place-right::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        border-top-right-radius: undefinedpx;
        border: 1px solid transparent;
        background-color: #222;
        z-index: -2;
        left: -6px;
        top: 50%;
        margin-top: -6px;
        transform: rotate(-135deg);
    }
  </style><div class="do fd fe">Each measurement represents the actual time it took to upload the file. To do this, we start measuring from the moment we start uploading the file till we receive the first byte of the acknowledgement.</div></div></div></div><div class="g"><div class="dx fg fh fi fj az"><div class="fy fz dw c ac gc n gb">waiting for measurements...</div></div></div></div></div><div class="h i"></div><div class="h i"><div class="z ac ae"></div><div class="dv dx"></div><div class="c dy n m"><div class="c dz"><a href="/" class="bp ea u w x y">Home</a><a href="/about/" class="bp ea u w x y">About</a><a href="https://www.cloudflare.com/privacypolicy/" class="bp ea u w x y">Privacy Policy</a><a href="https://www.cloudflare.com/website-terms/" class="bp ea u w x y">Terms of Use</a></div><a target="_blank" href="https://www.cloudflare.com" class="u w x y"><div class="eb"><div><svg viewBox="0 0 105 36" role="img" width="105px" height="41px" aria-hidden="true"><path fill="#000" d="M11.679 26.754h2.353v6.423h4.111v2.06H11.68v-8.483zM20.58 31.02v-.024c0-2.436 1.965-4.412 4.584-4.412 2.62 0 4.56 1.951 4.56 4.387v.025c0 2.436-1.965 4.41-4.584 4.41-2.618 0-4.56-1.95-4.56-4.386zm6.743 0v-.024c0-1.223-.885-2.291-2.183-2.291-1.285 0-2.147 1.042-2.147 2.266v.025c0 1.222.886 2.29 2.171 2.29 1.298 0 2.159-1.042 2.159-2.266zM32.604 31.517v-4.763h2.389v4.714c0 1.223.618 1.806 1.564 1.806.946 0 1.564-.557 1.564-1.745v-4.775h2.39v4.7c0 2.74-1.564 3.939-3.978 3.939s-3.93-1.223-3.93-3.878M44.112 26.755h3.274c3.032 0 4.79 1.744 4.79 4.192v.025c0 2.447-1.782 4.265-4.838 4.265h-3.226v-8.483zm3.31 6.397c1.408 0 2.34-.775 2.34-2.146v-.024c0-1.357-.932-2.145-2.34-2.145h-.958v4.316l.959-.001zM55.596 26.754h6.791v2.06h-4.438v1.442h4.014v1.951h-4.014v3.03h-2.353v-8.483zM65.661 26.754h2.353v6.423h4.111v2.06h-6.464v-8.483zM78.273 26.693h2.268l3.614 8.544h-2.522l-.62-1.515H77.74l-.606 1.515h-2.474l3.614-8.544zm2.062 5.2l-.946-2.413-.959 2.412h1.905zM87.186 26.754H91.2c1.298 0 2.195.34 2.765.921.498.485.752 1.14.752 1.976v.024c0 1.296-.693 2.156-1.746 2.605l2.025 2.957H92.28l-1.71-2.57h-1.03v2.57h-2.353v-8.483zm3.905 4.072c.8 0 1.262-.388 1.262-1.006v-.024c0-.667-.486-1.006-1.275-1.006h-1.54v2.038l1.553-.002zM98.112 26.754h6.827v2h-4.498v1.284h4.075v1.854h-4.075v1.346H105v1.999h-6.888v-8.483zM6.528 32.014c-.33.744-1.023 1.272-1.944 1.272-1.286 0-2.171-1.067-2.171-2.29v-.025c0-1.223.86-2.266 2.146-2.266.97 0 1.708.595 2.02 1.406h2.48c-.398-2.02-2.173-3.526-4.475-3.526-2.62 0-4.584 1.977-4.584 4.41v.024c0 2.436 1.94 4.388 4.56 4.388 2.24 0 3.991-1.45 4.453-3.393H6.528z"></path><path d="M89.012 22.355l.257-.887c.306-1.056.192-2.031-.321-2.748-.472-.66-1.259-1.049-2.214-1.094l-18.096-.229a.358.358 0 01-.285-.151.367.367 0 01-.04-.326.481.481 0 01.42-.321l18.263-.232c2.166-.099 4.512-1.856 5.333-3.998L93.37 9.65a.659.659 0 00.028-.36C92.216 3.975 87.468 0 81.792 0c-5.23 0-9.67 3.373-11.263 8.061a5.34 5.34 0 00-3.756-1.039 5.356 5.356 0 00-4.637 6.644c-4.099.12-7.386 3.475-7.386 7.6 0 .368.028.735.082 1.1a.354.354 0 00.348.305l33.408.004h.009a.44.44 0 00.415-.32z" fill="#F6821F"></path><path d="M95.04 9.847c-.167 0-.334.004-.5.013a.28.28 0 00-.079.017.285.285 0 00-.182.192l-.712 2.456c-.305 1.055-.192 2.03.322 2.746.471.661 1.258 1.05 2.213 1.094l3.858.232a.351.351 0 01.275.149.365.365 0 01.041.328.484.484 0 01-.42.32l-4.008.232c-2.176.1-4.521 1.856-5.342 3.998l-.29.756a.212.212 0 00.095.262c.03.017.062.027.096.028h13.802a.366.366 0 00.356-.265 9.846 9.846 0 00.367-2.677c-.001-5.457-4.429-9.88-9.891-9.88z" fill="#FBAD41"></path></svg></div></div></a></div></div></div><div class="erd_scroll_detection_container erd_scroll_detection_container_animation_active" style="visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0px; padding: 0px;"><div dir="ltr" class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"><div class="erd_scroll_detection_container" style="position: absolute; flex: 0 0 auto; overflow: hidden; z-index: -1; visibility: hidden; inset: -11px -10px -10px -11px;"><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; left: 0px; top: 0px; width: 799px; height: 1401px;"></div></div><div style="position: absolute; flex: 0 0 auto; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"><div style="position: absolute; width: 200%; height: 200%;"></div></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"OiaEaWLM5XAOBEW0HF9dl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script><script defer="" src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;8f673f026826383f&quot;,&quot;version&quot;:&quot;2024.10.5&quot;,&quot;serverTiming&quot;:{&quot;name&quot;:{&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfSpeedBrain&quot;:true,&quot;cfCacheStatus&quot;:true}},&quot;token&quot;:&quot;96223dabe4f24068913679b95bdf96ef&quot;,&quot;b&quot;:1}" crossorigin="anonymous"></script>
<next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; width: 1px; white-space: nowrap; overflow-wrap: normal;"></p></next-route-announcer></body></html>