<SEC-DOCUMENT>0001193125-25-036802.txt : 20250226
<SEC-HEADER>0001193125-25-036802.hdr.sgml : 20250226
<ACCEPTANCE-DATETIME>20250226163415
ACCESSION NUMBER:		0001193125-25-036802
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		16
FILED AS OF DATE:		20250226
DATE AS OF CHANGE:		20250226
EFFECTIVENESS DATE:		20250226

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TWILIO INC
		CENTRAL INDEX KEY:			0001447669
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				262574840
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		S-8
		SEC ACT:		1933 Act
		SEC FILE NUMBER:	333-285284
		FILM NUMBER:		25670711

	BUSINESS ADDRESS:	
		STREET 1:		101 SPEAR STREET
		STREET 2:		SUITE 500
		CITY:			San Francisco
		STATE:			CA
		ZIP:			94105
		BUSINESS PHONE:		415-390-2337

	MAIL ADDRESS:	
		STREET 1:		101 SPEAR STREET
		STREET 2:		SUITE 500
		CITY:			San Francisco
		STATE:			CA
		ZIP:			94105
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>d916292ds8.htm
<DESCRIPTION>S-8
<TEXT>
<HTML><HEAD>
<TITLE>S-8</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>As filed with the U.S. Securities and Exchange Commission on February&nbsp;26, 2025
</B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="right"><B>Registration <FONT STYLE="white-space:nowrap">No.&nbsp;333-&#8195;&#8195;&#8195;</FONT> </B></P>
<P STYLE="font-size:4pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P> <P STYLE="line-height:1.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&nbsp;</P>
<P STYLE="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&nbsp;</P> <P STYLE="margin-top:4pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>UNITED STATES </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>SECURITIES AND EXCHANGE COMMISSION </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B>WASHINGTON, D.C. 20549 </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center>
<P STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</P></center> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>FORM <FONT
STYLE="white-space:nowrap">S-8</FONT></B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:18pt; font-family:Times New Roman" ALIGN="center"><B>REGISTRATION STATEMENT </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B><I>UNDER </I></B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:12pt; font-family:Times New Roman" ALIGN="center"><B><I>THE
SECURITIES ACT OF 1933 </I></B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center> <P STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</P></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:24pt; font-family:Times New Roman" ALIGN="center"><B>Twilio Inc. </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>(Exact name
of registrant as specified in its charter) </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center>
<P STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</P></center> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:8pt" ALIGN="center">


<TR>

<TD WIDTH="50%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="48%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center"><B>Delaware</B></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"><B><FONT STYLE="white-space:nowrap">26-2574840</FONT></B></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(State or other jurisdiction of</B></P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>incorporation or organization)</B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(I.R.S. Employer</B></P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Identification No.)</B></P></TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>101 Spear Street, Fifth Floor </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>San Francisco, California 94105 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Address of Principal Executive Offices) (Zip Code) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Amended and Restated 2016 Stock Option and Incentive Plan </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Amended and Restated 2016 Employee Stock Purchase Plan </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Full title of the plans) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Khozema Shipchandler </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Chief Executive Officer </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Twilio Inc. </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>101 Spear
Street, Fifth Floor </B></P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>San Francisco, California 94105 </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Name and address of agent for service) </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>(415) <FONT STYLE="white-space:nowrap">390-2337</FONT></B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>(Telephone number, including area code, of agent for service)</B></P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center> <P STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</P></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B><I>Copies to: </I></B></P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="50%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="48%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Rezwan D. Pavri</B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Colin G. Conklin<BR>Wilson Sonsini Goodrich&nbsp;&amp; Rosati, P.C.<BR>650 Page Mill Road<BR>Palo Alto, California 94304<BR>Telephone: (650) <FONT
STYLE="white-space:nowrap">493-9300</FONT></B></P> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Facsimile: (650) <FONT STYLE="white-space:nowrap">493-6811</FONT></B></P></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Juliana Chen<BR>Corporate Secretary</B></P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Twilio Inc.<BR>101 Spear Street, Fifth Floor<BR>San Francisco, California 94105<BR>Telephone: (415)
<FONT STYLE="white-space:nowrap">390-2337</FONT></B></P></TD></TR>
</TABLE> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><center> <P STYLE="line-height:6.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1.00pt solid #000000;width:21%">&nbsp;</P></center>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a <FONT STYLE="white-space:nowrap">non-accelerated</FONT>
filer, a smaller reporting company or an emerging growth company. See the definitions of &#147;large accelerated filer,&#148; &#147;accelerated filer,&#148; &#147;smaller reporting company&#148; and &#147;emerging growth company&#148; in Rule <FONT
STYLE="white-space:nowrap">12b-2</FONT> of the Exchange Act. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="17%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="57%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="21%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="2%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom">Large&nbsp;accelerated&nbsp;filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9746;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Accelerated&nbsp;filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom">Non-accelerated filer</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Smaller&nbsp;reporting&nbsp;company</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Emerging&nbsp;growth&nbsp;company</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&#9744;</TD></TR>
</TABLE> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period
for complying with any new or revised financial accounting standards provided pursuant to Section&nbsp;7(a)(2)(B) of the Securities Act.&#8194;&#9744; </P> <P STYLE="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<P STYLE="line-height:1.0pt;margin-top:0pt;margin-bottom:0pt;border-bottom:1px solid #000000">&nbsp;</P> <P STYLE="line-height:3.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&nbsp;</P>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="line-height:1.0pt;margin-top:0pt;margin-bottom:2pt;border-bottom:1px solid #000000">&nbsp;</P>
<P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>REGISTRATION OF ADDITIONAL SHARES </B></P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>PURSUANT TO GENERAL INSTRUCTION E </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Twilio Inc. (the &#147;<U>Registrant</U>&#148;) is filing this Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> with
the U.S. Securities and Exchange Commission (the &#147;<U>Commission</U>&#148;) to register an additional 7,630,534 shares of the Registrant&#146;s Class&nbsp;A common stock for issuance under the Registrant&#146;s Amended and Restated 2016 Stock
Option and Incentive Plan (&#147;<U>2016 Plan</U>&#148;) and an additional 1,526,106 shares of the Registrant&#146;s Class&nbsp;A common stock for issuance under the Registrant&#146;s Amended and Restated 2016 Employee Stock Purchase Plan
(&#147;<U>2016 ESPP</U>&#148;), pursuant to the provisions of the 2016 Plan and the 2016 ESPP that provide for an automatic annual increase in the number of shares reserved for issuance under these respective plans. Pursuant to General Instruction E
of Form <FONT STYLE="white-space:nowrap">S-8,</FONT> this Registration Statement hereby incorporates by reference the contents of the registration statements on Form <FONT STYLE="white-space:nowrap">S-8</FONT> filed by the Registrant with the
Commission on February&nbsp;27, 2024 (<A HREF="http://www.sec.gov/Archives/edgar/data/1447669/000119312524047983/d784194ds8.htm">File No.<U></U><FONT STYLE="white-space:nowrap">&nbsp;333-277403</FONT></A>), February&nbsp;
27, 2023 (<A HREF="http://www.sec.gov/Archives/edgar/data/1447669/000119312523049173/d395703ds8.htm">File No.<U></U><FONT STYLE="white-space:nowrap">&nbsp;333-270025</FONT></A>), August&nbsp;
5, 2022 <A HREF="http://www.sec.gov/Archives/edgar/data/1447669/000119312522213652/d365838ds8.htm">(File No.<U></U><FONT STYLE="white-space:nowrap">&nbsp;333-266593)</FONT></A>, August&nbsp;
2, 2021 <A HREF="http://www.sec.gov/Archives/edgar/data/0001447669/000119312521233339/d264424ds8.htm">(File <FONT STYLE="white-space:nowrap">No.&nbsp;333-258368)</FONT></A>, March&nbsp;
2, 2020 <A HREF="http://www.sec.gov/Archives/edgar/data/0001447669/000110465920027874/tm2010986-1_s8.htm">(File <FONT STYLE="white-space:nowrap">No.&nbsp;333-236819)</FONT></A>, February&nbsp;
8, 2019 <A HREF="http://www.sec.gov/Archives/edgar/data/1447669/000110465919006821/a19-4157_1s8.htm">(File <FONT STYLE="white-space:nowrap">No.&nbsp;333-229580)</FONT></A>, May&nbsp;
10, 2018 <A HREF="http://www.sec.gov/Archives/edgar/data/0001447669/000110465918031877/a18-13109_1s8.htm">(File No. <FONT STYLE="white-space:nowrap">333-224812)</FONT></A>&nbsp;and June&nbsp;
23, 2016 <A HREF="http://www.sec.gov/Archives/edgar/data/0001447669/000110465916128883/a15-21239_12s8.htm">(File No.<U></U><FONT STYLE="white-space:nowrap">&nbsp;333-212191)</FONT></A>, in each case to the extent not modified or superseded hereby or
by any subsequently filed document incorporated by reference herein or therein. </P> <P STYLE="margin-top:18pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><B>Item&#8201;8. Exhibits. </B></P>
<P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD></TD>

<TD VALIGN="bottom" WIDTH="3%"></TD>
<TD WIDTH="44%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="12%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="11%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="11%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="11%"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" COLSPAN="7" NOWRAP ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Incorporated by Reference</B></P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>Exhibit <BR>Number</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>Description</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>Form</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>File No.</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>Exhibit</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" NOWRAP ALIGN="center"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; border-bottom:1.00pt solid #000000; display:table-cell; font-size:8pt; font-family:Times New Roman; " ALIGN="center"><B>Filing Date</B></P></TD></TR>


<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>5.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d916292dex51.htm">Opinion of Wilson&nbsp;Sonsini Goodrich&nbsp;&amp; Rosati, P.C. </A></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Filed herewith</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>23.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d916292dex231.htm">Consent of KPMG LLP, independent registered public accounting firm. </A></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Filed herewith</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>23.2</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d916292dex51.htm">Consent of Wilson Sonsini Goodrich&nbsp;&amp; Rosati, P.C. (included in Exhibit 5.1 hereto). </A></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Filed herewith</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>24.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="#sig">Power of Attorney (included on the signature page hereto). </A></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Filed herewith</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>99.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/0001447669/000144766921000070/twlo-2020x1231ex1032016sto.htm">Twilio Inc. Amended and Restated 2016 Stock Option and Incentive Plan, and forms of agreements thereunder</A>.</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><FONT STYLE="white-space:nowrap">10-K</FONT></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><FONT STYLE="white-space:nowrap">001-37806</FONT></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center">10.3</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">February&nbsp;26,&nbsp;2021</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>99.2</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="http://www.sec.gov/Archives/edgar/data/1447669/000144766919000028/twlo-20190930ex101.htm">Twilio Inc. Amended and Restated 2016 Employee Stock Purchase Plan</A>.</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><FONT STYLE="white-space:nowrap">10-Q</FONT></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center"><FONT STYLE="white-space:nowrap">001-37806</FONT></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center">10.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">October&nbsp;31, 2019</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="8"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD>
<TD HEIGHT="8" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" NOWRAP>107.1</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"><A HREF="d916292dexfilingfees.htm">Filing Fee Table. </A></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom">Filed herewith</TD></TR>
</TABLE>
</DIV></Center>


<p style="margin-top:1em; margin-bottom:0em; page-break-before:always"> </p>
<HR SIZE="3" style="COLOR:#999999" WIDTH="100%" ALIGN="CENTER">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B><A NAME="sig"></A>SIGNATURES </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the requirements of the Securities Act of 1933, as amended, the Registrant certifies that it has reasonable grounds to believe
that it meets all of the requirements for filing on Form <FONT STYLE="white-space:nowrap">S-8</FONT> and has duly caused this Registration Statement to be signed on its behalf by the undersigned, thereunto duly authorized, in San Francisco,
California, on February&nbsp;26, 2025. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="7%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="92%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" COLSPAN="3"><B>TWILIO INC.</B></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">By:</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman">/s/ Khozema Z. Shipchandler</P></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top">Khozema Z. Shipchandler</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"><I>Chief Executive Officer</I></TD></TR>
</TABLE></DIV> <P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>POWER OF ATTORNEY AND SIGNATURES </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature appears below constitutes and appoints Khozema Z. Shipchandler and Aidan
Viggiano, and each of them, as his or her true and lawful <FONT STYLE="white-space:nowrap"><FONT STYLE="white-space:nowrap">attorneys-in-fact</FONT></FONT> and agents, with full power of substitution and resubstitution, for him or her and in his or
her name, place and stead, in any and all capacities, to sign the Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> of Twilio Inc., and any or all amendments (including post-effective amendments), and to file the same, with
all exhibits thereto, and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said <FONT STYLE="white-space:nowrap"><FONT STYLE="white-space:nowrap">attorneys-in-fact</FONT></FONT> and agents full
power and authority to do and perform each and every act and thing requisite or necessary to be done in connection therewith and about the premises, as fully to all intents and purposes as he or she might or could do in person, hereby ratifying and
confirming all that said <FONT STYLE="white-space:nowrap"><FONT STYLE="white-space:nowrap">attorneys-in-fact</FONT></FONT> and agents, or their substitute or substitutes, may lawfully do or cause to be done by virtue hereof. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">Pursuant to the requirements of the Securities Act of 1933, as amended, this Registration Statement on Form
<FONT STYLE="white-space:nowrap">S-8</FONT> has been signed by the following persons in the capacities and on the dates indicated. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="35%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="32%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="31%"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<TD VALIGN="bottom" NOWRAP ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Signature</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Title</B></P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="bottom" ALIGN="center" STYLE="border-bottom:1.00pt solid #000000"> <P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:8pt; font-family:Times New Roman" ALIGN="center"><B>Date</B></P></TD></TR>


<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Khozema Z. Shipchandler</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">Chief Executive Officer and Director</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">(Principal Executive Officer)</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Khozema Z. Shipchandler</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Aidan Viggiano</P></TD>
<TD VALIGN="bottom" ROWSPAN="2">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ROWSPAN="2" ALIGN="center"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">Chief Financial Officer</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">(Principal Financial and Accounting Officer)</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Aidan Viggiano</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Charlie Bell</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Charlie Bell</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Donna Dubinsky</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Donna Dubinsky</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Jeff Epstein</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Jeff Epstein</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Jeffrey Immelt</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Jeffrey Immelt</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Deval Patrick</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Deval Patrick</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Erika Rottenberg</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Erika Rottenberg</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Andy Stafman</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Andy Stafman</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD>
<TD HEIGHT="16" COLSPAN="2"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:1pt; border-bottom:1px solid #000000; font-size:10pt; font-family:Times New Roman" ALIGN="center">/s/ Miyuki Suzuki</P></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">Director</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top" ALIGN="center">February 26, 2025</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top" ALIGN="center">Miyuki Suzuki</TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"></TD></TR>
</TABLE>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>d916292dex51.htm
<DESCRIPTION>EX-5.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-5.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 5.1 </B></P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" ALIGN="center">


<TR>

<TD WIDTH="31%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="37%"></TD>

<TD VALIGN="bottom" WIDTH="1%"></TD>
<TD WIDTH="30%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">


<IMG SRC="g916292dsp4a.jpg" ALT="LOGO">
</TD>
<TD VALIGN="bottom">&nbsp;</TD>
<TD VALIGN="top"></TD>
<TD VALIGN="bottom">&nbsp;&nbsp;</TD>
<TD VALIGN="top"> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Wilson Sonsini Goodrich&nbsp;&amp; Rosati</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Professional Corporation</P> <P STYLE="font-size:6pt; margin-top:0pt; margin-bottom:0pt">&nbsp;</P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">650 Page Mill Road</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Palo Alto, California 94304-1050</P>
<P STYLE="font-size:6pt; margin-top:0pt; margin-bottom:0pt">&nbsp;</P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman"><SMALL>O</SMALL>: 650.493.9300</P>
<P STYLE="margin-top:0pt; margin-bottom:1pt; font-size:10pt; font-family:Times New Roman"><SMALL>F</SMALL>: 650.493.6811</P></TD></TR>
</TABLE> <P STYLE="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center">February&nbsp;26, 2025 </P>
<P STYLE="margin-top:6pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Twilio Inc. </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">101 Spear Street, Fifth Floor </P>
<P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">San Francisco, California 94105 </P> <P STYLE="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P>
<TABLE STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR style = "page-break-inside:avoid">
<TD WIDTH="4%">&nbsp;</TD>
<TD WIDTH="5%" VALIGN="top" ALIGN="left"><B>Re:</B></TD>
<TD ALIGN="left" VALIGN="top"> <P STYLE=" margin-top:0pt ; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman; " ALIGN="left"><B>Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> </B></P></TD></TR></TABLE>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">Ladies and Gentlemen: </P> <P STYLE="margin-top:6pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We have examined the
Registration Statement on Form <FONT STYLE="white-space:nowrap">S-8</FONT> (the &#147;<B>Registration Statement</B>&#148;) to be filed by Twilio Inc., a Delaware corporation (the &#147;<B>Company</B>&#148;), with the Securities and Exchange
Commission on or about the date hereof, in connection with the registration under the Securities Act of 1933, as amended, of an aggregate of 9,156,640 shares (the &#147;<B>Shares</B>&#148;) of Class&nbsp;A common stock, par value $0.001 per share
(the &#147;<B>Class</B><B></B><B>&nbsp;A Common Stock</B>&#148;), consisting of: (i) 7,630,534 shares of Class&nbsp;A Common Stock that may be issued under the 2016 Stock Option and Incentive Plan, as amended and restated (the &#147;<U>2016
Plan</U>&#148;), and (ii) 1,526,106 shares of Class&nbsp;A Common Stock that may be issued under the 2016 Employee Stock Purchase Plan, as amended and restated (the &#147;<B>2016 ESPP</B>,&#148; and together with the 2016 Plan, the
&#147;<B>Plans</B>&#148;). </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">On the basis of the foregoing, and in reliance thereon, we are of the opinion that the Shares, when issued and
sold in the manner referred to in the Plans and pursuant to the agreements that accompany the Plans, will be legally and validly issued, fully paid and nonassessable. </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; text-indent:4%; font-size:10pt; font-family:Times New Roman">We consent to the use of this opinion as an exhibit to the Registration Statement and further consent to the use of our name wherever
appearing in the Registration Statement and any amendments thereto. </P> <P STYLE="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&nbsp;</P><DIV ALIGN="right">
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="40%" BORDER="0" STYLE="BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt">


<TR>

<TD WIDTH="100%"></TD></TR>


<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Very truly yours,</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">/s/ Wilson Sonsini Goodrich&nbsp;&amp; Rosati, P.C.</TD></TR>
<TR STYLE="font-size:1pt">
<TD HEIGHT="16"></TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">WILSON SONSINI GOODRICH&nbsp;&amp; ROSATI</TD></TR>
<TR STYLE="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<TD VALIGN="top">Professional Corporation</TD></TR>
</TABLE></DIV> <P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center">AUSTIN&#8195;BEIJING&#8195;BOSTON&#8195;BOULDER&#8195;BRUSSELS&#8195;HONG KONG&#8195;LONDON&#8195;LOS
ANGELES&#8195;NEW YORK&#8195;PALO ALTO </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:8pt; font-family:Times New Roman" ALIGN="center">SALT LAKE CITY&#8195;SAN DIEGO&#8195;SAN FRANCISCO&#8195;SEATTLE&#8195;SHANGHAI&#8195;WASHINGTON,
DC&#8195;WILMINGTON, DE </P>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>d916292dex231.htm
<DESCRIPTION>EX-23.1
<TEXT>
<HTML><HEAD>
<TITLE>EX-23.1</TITLE>
</HEAD>
 <BODY BGCOLOR="WHITE" STYLE="line-height:Normal">

<Center><DIV STYLE="width:8.5in" align="left">
 <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="right"><B>Exhibit 23.1 </B></P>
<P STYLE="margin-top:24pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman" ALIGN="center"><B>Consent of Independent Registered Public Accounting Firm </B></P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">We consent to the use of our report dated February&nbsp;26, 2025, with respect to the consolidated financial statements of Twilio, Inc., and the effectiveness
of internal control over financial reporting, incorporated herein by reference. </P> <P STYLE="margin-top:12pt; margin-bottom:0pt; margin-left:55%; text-indent:-2%; font-size:10pt; font-family:Times New Roman">/s/ KPMG LLP </P>
<P STYLE="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">San Francisco, California </P> <P STYLE="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman">February&nbsp;26, 2025 </P>
</DIV></Center>

</BODY></HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>4
<FILENAME>d916292dexfilingfees.htm
<DESCRIPTION>EX-FILING FEES
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:twlo="http://www.twilio.com/20250226" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/deprecated" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:ffd="http://xbrl.sec.gov/ffd/2024q2" xmlns:srt="http://fasb.org/srt/2024" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:xbrll="http://www.xbrl.org/2003/linkbase" xmlns="http://www.w3.org/1999/xhtml" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31">
<head>
<title>EX-FILING FEES</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body style="line-height:normal;background-color:white;"><div style="display: none"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="P02_26_2025To02_26_2025" id="ixv-226">0001447669</ix:nonNumeric><ix:nonNumeric name="ffd:FeeExhibitTp" contextRef="P02_26_2025To02_26_2025" id="ixv-227">EX-FILING FEES</ix:nonNumeric><ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" id="ixv-228">false</ix:nonNumeric><ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" id="ixv-229">false</ix:nonNumeric><ix:nonNumeric name="ffd:OfferingSctyTitl" id="hidden131547472" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Stock Option and Incentive Plan</ix:nonNumeric><ix:nonNumeric name="ffd:OfferingSctyTitl" id="hidden131547481" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Employee Stock Purchase Plan</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ffd/2024q2/ffd-2024q2.xsd"/></ix:references><ix:resources><xbrli:context id="P02_26_2025To02_26_2025"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001447669</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-02-26</xbrli:startDate> <xbrli:endDate>2025-02-26</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001447669</xbrli:identifier> <xbrli:segment> <xbrldi:typedMember dimension="ffd:OfferingAxis"> <dei:lineNo>1</dei:lineNo> </xbrldi:typedMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-02-26</xbrli:startDate> <xbrli:endDate>2025-02-26</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:context id="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"> <xbrli:entity> <xbrli:identifier scheme="http://www.sec.gov/CIK">0001447669</xbrli:identifier> <xbrli:segment> <xbrldi:typedMember dimension="ffd:OfferingAxis"> <dei:lineNo>2</dei:lineNo> </xbrldi:typedMember> </xbrli:segment> </xbrli:entity> <xbrli:period> <xbrli:startDate>2025-02-26</xbrli:startDate> <xbrli:endDate>2025-02-26</xbrli:endDate> </xbrli:period> </xbrli:context><xbrli:unit id="Unit_USD"> <xbrli:measure>iso4217:USD</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_pure"> <xbrli:measure>xbrli:pure</xbrli:measure> </xbrli:unit><xbrli:unit id="Unit_shares"> <xbrli:measure>xbrli:shares</xbrli:measure> </xbrli:unit></ix:resources></ix:header></div><div><div><div style="line-height:normal;display: inline;"><div style="text-align:center"><div style="width:8.5in;text-align:left;margin-left: auto;margin-right: auto"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: right;"><div style="font-weight:bold;display:inline;">Exhibit 107.1 </div></div><div style="margin-top: 24pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">CALCULATION OF FILING FEE TABLES </div></div><div style="margin-top: 12pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;">Form <ix:nonNumeric name="ffd:SubmissnTp" contextRef="P02_26_2025To02_26_2025" id="ixv-265"><ix:nonNumeric name="ffd:FormTp" contextRef="P02_26_2025To02_26_2025" id="ixv-266">S-8</ix:nonNumeric></ix:nonNumeric> </div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Form Type) </div><div style="margin-top: 24pt; margin-bottom: 0pt; font-size: 10pt; font-family: &quot;Times New Roman&quot;; text-align: center;"><div style="font-weight:bold;display:inline;"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="P02_26_2025To02_26_2025" id="ixv-267">Twilio Inc.</ix:nonNumeric> </div></div><div style="margin-top:0pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center">(Exact name of registrant as specified in its charter) </div><div style="margin-top:12pt; margin-bottom:0pt; font-size:10pt; font-family:Times New Roman;text-align:center"><div style="text-decoration: underline; letter-spacing: 0px; top: 0px;display:inline;">Table 1 - Newly Registered Securities</div> </div><div style="font-size:12pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:10pt;width:100%;border:0;margin:0 auto">
<tr>
<td style="width:4%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:7%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:20%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:9%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:9%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:8%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:14%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:10%"/>
<td style="vertical-align:bottom;width:1%"/>
<td style="width:11%"/></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:8pt">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:bottom">&#160;&#160;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">&#8194;Security&#8194;</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Type</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Security</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Class</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Title</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Fee</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">&#8194;Calculation&#8194;</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Rule</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Amount</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Registered</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Proposed</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">&#8194;Maximum&#8194;</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Offering</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Price Per</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Unit</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Maximum</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Aggregate</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Offering</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Price</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Fee</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Rate</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Amount of</div></div><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Registration</div></div><div style="margin-top: 0pt; margin-bottom: 1pt; font-size: 8pt; font-family: &quot;Times New Roman&quot;; text-align: center; line-height: normal;"><div style="font-weight:bold;display:inline;">Fee</div></div></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(1)&#8195;</div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:top;white-space:nowrap;text-align:center"><ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" id="ixv-268">Equity</ix:nonNumeric></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom"><div style="-sec-ix-hidden:hidden131547472;display:inline;">Class&#160;A&#160;common&#160;stock, $0.001 par value&#160;per share, reserved for issuance pursuant to the Registrant&#8217;s Amended and Restated 2016 Stock Option and Incentive Plan</div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" format="ixt:fixed-true" id="ixv-269">Other</ix:nonNumeric></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8194;<ix:nonFraction name="ffd:AmtSctiesRegd" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-270">7,630,534</ix:nonFraction>&#8194;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:MaxOfferingPricPerScty" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" unitRef="Unit_pure" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-271">116.05</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8194;$<ix:nonFraction name="ffd:MaxAggtOfferingPric" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-272">885,523,470.70</ix:nonFraction>&#8194;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8194;<ix:nonFraction name="ffd:FeeRate" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" unitRef="Unit_pure" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-273">0.0001531</ix:nonFraction>&#8194;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:FeeAmt" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-274">135,573.65</ix:nonFraction></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;">(2)</div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:top;white-space:nowrap;text-align:center"><ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" id="ixv-275">Equity</ix:nonNumeric></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom"><div style="-sec-ix-hidden:hidden131547481;display:inline;">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant&#8217;s Amended and Restated 2016 Employee Stock Purchase Plan</div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" format="ixt:fixed-true" id="ixv-276">Other</ix:nonNumeric></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><ix:nonFraction name="ffd:AmtSctiesRegd" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" unitRef="Unit_shares" decimals="0" scale="0" format="ixt:num-dot-decimal" id="ixv-277">1,526,106</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:MaxOfferingPricPerScty" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" unitRef="Unit_pure" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-278">98.65</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:MaxAggtOfferingPric" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-279">150,550,356.90</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center"><ix:nonFraction name="ffd:FeeRate" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" unitRef="Unit_pure" decimals="INF" scale="0" format="ixt:num-dot-decimal" id="ixv-280">0.0001531</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:FeeAmt" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-281">23,049.26</ix:nonFraction></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td colspan="9" style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total Offering Amounts</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:TtlOfferingAmt" contextRef="P02_26_2025To02_26_2025" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-282">1,036,073,827.60</ix:nonFraction></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center">&#8194;$<ix:nonFraction name="ffd:TtlFeeAmt" contextRef="P02_26_2025To02_26_2025" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-283">158,622.91</ix:nonFraction>&#8194;</td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td colspan="9" style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Total Fee Offsets</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center"><ix:nonFraction name="ffd:TtlOffsetAmt" contextRef="P02_26_2025To02_26_2025" unitRef="Unit_USD" decimals="0" scale="0" format="ixt:fixed-zero" id="ixv-284">&#8212;</ix:nonFraction></td></tr>
<tr style="page-break-inside:avoid ; font-family:Times New Roman; font-size:10pt">
<td colspan="9" style="BORDER:0.75pt solid #000000; padding-left:8pt;vertical-align:top"><div style="margin-top: 0pt; margin-bottom: 0pt; margin-left: 1em; text-indent: -1em; font-size: 10pt; font-family: &quot;Times New Roman&quot;; line-height: normal;"><div style="font-weight:bold;display:inline;">Net Fee Due</div></div></td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom;white-space:nowrap;text-align:center">&#8212;</td>
<td style=" BORDER-LEFT:0.75pt solid #000000; BORDER-TOP:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000;vertical-align:bottom">&#160;</td>
<td style="BORDER-TOP:0.75pt solid #000000; BORDER-RIGHT:0.75pt solid #000000; BORDER-BOTTOM:0.75pt solid #000000; padding-right:2pt;vertical-align:bottom;white-space:nowrap;text-align:center">$<ix:nonFraction name="ffd:NetFeeAmt" contextRef="P02_26_2025To02_26_2025" unitRef="Unit_USD" decimals="2" scale="0" format="ixt:num-dot-decimal" id="ixv-285">158,622.91</ix:nonFraction></td></tr></table><div style="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="ffd:OfferingNote" contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis" escape="true" id="ixv-187">
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">(1)</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), this Registration Statement covers any additional shares of Class A common stock of Twilio Inc. (the &#8220;Registrant&#8221;) that become issuable under the Registrant&#8217;s Amended and Restated 2016 Stock Option and Incentive Plan (&#8220;2016 Plan&#8221;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#8217;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#8217;s Class A common stock. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the 2016 Plan in accordance with the automatic annual increase provisions of the 2016 Plan. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. </div></td></tr></table></ix:nonNumeric><div style="font-size:10pt;margin-top:0pt;margin-bottom:0pt">&#160;</div><ix:nonNumeric name="ffd:OfferingNote" contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis" escape="true" id="ixv-206">
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">(2)</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">Pursuant to Rule 416(a) of the Securities Act, this Registration Statement covers any additional shares of Class A common stock of the Registrant that become issuable under the Registrant&#8217;s Amended and Restated 2016 Employee Stock Purchase Plan (&#8220;2016 ESPP&#8221;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#8217;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#8217;s Class A common stock. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the Registrant&#8217;s 2016 ESPP in accordance with the automatic annual increase provisions of the 2016 ESPP. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of 85% of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. Pursuant to the 2016 ESPP, the purchase price of the shares of Class A common stock reserved for issuance thereunder will be at least 85% of the lower of the fair market value of a share of Class A common stock on the first trading day of the offering period or on the exercise date. </div></td></tr></table></ix:nonNumeric></div></div></div></div></div>
</body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>5
<FILENAME>g916292dsp4a.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 g916292dsp4a.jpg
M_]C_X  02D9)1@ !  $ 8 !@  #__@ ?3$5!1"!496-H;F]L;V=I97,@26YC
M+B!6,2XP,0#_VP"$  @&!@<&!0@'!P<*"0@*#18.#0P,#1L3%! 6(!PB(1\<
M'QXC*#,K(R8P)AX?+#TM,#4V.3HY(BL_0SXX0S,X.3<!"0H*#0L-&@X.&C<D
M'R0W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W-S<W
M-S<W-S<W-__$ :(   $% 0$! 0$!           ! @,$!08'" D*"P$  P$!
M 0$! 0$! 0        $" P0%!@<("0H+$  " 0,# @0#!04$!    7T! @,
M!!$%$B$Q008346$'(G$4,H&1H0@C0K'!%5+1\"0S8G*""0H6%Q@9&B4F)R@I
M*C0U-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H.$A8:'
MB(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4U=;7
MV-G:X>+CY.7FY^CIZO'R\_3U]O?X^?H1  (! @0$ P0'!00$  $"=P ! @,1
M! 4A,08205$'87$3(C*!"!1"D:&QP0DC,U+P%6)RT0H6)#3A)?$7&!D:)B<H
M*2HU-C<X.3I#1$5&1TA)2E-455976%E:8V1E9F=H:6IS='5V=WAY>H*#A(6&
MAXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&Q\C)RM+3U-76
MU]C9VN+CY.7FY^CIZO+S]/7V]_CY^O_  !$( #H AP,!$0 "$0$#$0'_V@ ,
M P$  A$#$0 _ /7;[QMHNF^)8/#]U++'?SE1&#&=K;NGS?7BK4&U<R=6,9<C
MW-'7-<L?#NE2ZEJ,ACMHB 2JY.2<# J4G)V1<YJ"NQN@Z]I_B32DU'3)3);L
MQ7++M((/((HE%Q=F*$U-711MO&NBWGBB7P[;RROJ$18.!&=J[1D_-T]OK5<C
M2N2JL7+D6Y/XD\4Z7X4LX;K59'2*5_+4HA8YQGM]*48N6B'.I&FKR-6UN([N
MTAN823%,@="1C@C(J=BT[JYBZ#XQT?Q)?7EGILLCS6G^M#QE0.2./7I52@X[
MD0JQFVET-^I-#G/%'CC0_"*QKJ=PWGR#*01+N<CUQT ^IJXP<MC*I5C3W,_P
M[\4/#7B2^2QMIIK:ZD.(X[E N\^@()&?;-.5.4=285X3=D=G69N<GXB^(_AO
MPS<FUO+MI;I?O0VZ[V7Z]A]":N-.4MC&=>$-&1>'_B?X8\17BV=O=26]RYPD
M=RFPN?0')&?;-.5.410KPF[([&LS<YK3_'GA_4_$4VA073"_B9T*.A4,RG!
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
!V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46161906078368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Submission<br></strong></div></th>
<th class="th"><div>Feb. 26, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissionLineItems', window );"><strong>Submission [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Central Index Key</a></td>
<td class="text">0001447669<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Registrant Name</a></td>
<td class="text">Twilio Inc.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FormTp', window );">Form Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissnTp', window );">Submission Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeExhibitTp', window );">Fee Exhibit Type</a></td>
<td class="text">EX-FILING FEES<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeExhibitTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeExhibitTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:feeExhibitTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FormTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FormTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissnTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissnTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46161905751840">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Offerings<br></strong></div></th>
<th class="th">
<div>Feb. 26, 2025 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingAxis=1', window );">Offering: 1</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Stock Option and Incentive Plan<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">7,630,534<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">116.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 885,523,470.7<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01531%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 135,573.65<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">(1)</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), this Registration Statement covers any additional shares of Class A common stock of Twilio Inc. (the &#8220;Registrant&#8221;) that become issuable under the Registrant&#8217;s Amended and Restated 2016 Stock Option and Incentive Plan (&#8220;2016 Plan&#8221;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#8217;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#8217;s Class A common stock. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the 2016 Plan in accordance with the automatic annual increase provisions of the 2016 Plan. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. </div></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingAxis=2', window );">Offering: 2</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Employee Stock Purchase Plan<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">1,526,106<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">98.65<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 150,550,356.9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01531%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 23,049.26<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">(2)</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">Pursuant to Rule 416(a) of the Securities Act, this Registration Statement covers any additional shares of Class A common stock of the Registrant that become issuable under the Registrant&#8217;s Amended and Restated 2016 Employee Stock Purchase Plan (&#8220;2016 ESPP&#8221;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#8217;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#8217;s Class A common stock. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the Registrant&#8217;s 2016 ESPP in accordance with the automatic annual increase provisions of the 2016 ESPP. </div></td></tr></table><div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt">&#160;</div>
<table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%">
<tr style="page-break-inside:avoid">
<td style="width:4%;vertical-align:top;text-align:left">&#8199;</td>
<td style="vertical-align:top;text-align:left"><div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &quot;Times New Roman&quot;; text-align: justify; line-height: normal;">The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of 85% of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. Pursuant to the 2016 ESPP, the purchase price of the shares of Class A common stock reserved for issuance thereunder will be at least 85% of the lower of the fair market value of a share of Class A common stock on the first trading day of the offering period or on the exercise date. </div></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_AmtSctiesRegd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of securities being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_AmtSctiesRegd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of registration fee (amount due after offsets).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesOthrRuleFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesOthrRuleFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxAggtOfferingPric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum aggregate offering price for the offering that is being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxAggtOfferingPric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative100TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxOfferingPricPerScty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum offering price per share/unit being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxOfferingPricPerScty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal4lItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingNote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingNote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTitl">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The title of the class of securities being registered (for each class being registered).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTitl</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Type of securities: "Asset-backed Securities", "ADRs/ADSs", "Debt", "Debt Convertible into Equity", "Equity", "Face Amount Certificates", "Limited Partnership Interests", "Mortgage Backed Securities", "Non-Convertible Debt", "Unallocated (Universal) Shelf", "Exchange Traded Vehicle Securities", "Other"</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_PrevslyPdFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_PrevslyPdFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.0.1</span><table class="report" border="0" cellspacing="2" id="idm46161905823904">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fees Summary<br></strong></div></th>
<th class="th">
<div>Feb. 26, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesSummaryLineItems', window );"><strong>Fees Summary [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOfferingAmt', window );">Total Offering</a></td>
<td class="nump">$ 1,036,073,827.6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlFeeAmt', window );">Total Fee Amount</a></td>
<td class="nump">158,622.91<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOffsetAmt', window );">Total Offset Amount</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_NetFeeAmt', window );">Net Fee</a></td>
<td class="nump">$ 158,622.91<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesSummaryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesSummaryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_NetFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_NetFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOfferingAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOfferingAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOffsetAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOffsetAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>10
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
M?HNF+S6!XF7="Q*N=&>IA[ENY2!,@E[?<ZXN@6DOW<\A_@M02P,$%     @
M+X1:6I,Z.1^P!@  HQL  !@   !X;"]W;W)K<VAE971S+W-H965T,BYX;6SM
M66UOVS80_KY?0;A=EP"!+<J67_)B(&T3K /:&DFZ81]IB;:)2*)*4G8\[,?O
M2,J2',A4D[;8"Y8/L27QCL\=[QX^M,XW7-S+%:4*/21Q*B\Z*Z6RTUY/ABN:
M$-GE&4WAR8*+A"BX%,N>S 0ED3%*XI[O><->0EC:F9Z;>S,Q/>>YBEE*9P+)
M/$F(V+ZF,=]<='!G=^.&+5=*W^A-SS.RI+=4?<IF JYZI9>()325C*=(T,5%
MYQ*?OO8#;6!&_,KH1M:^(QW*G/-[??$NNNAX&A&-::BT"P(?:_J&QK'V!#@^
M%TX[Y9S:L/Y]Y_W:! _!S(FD;WC\&XO4ZJ(S[J"(+D@>JQN^^9D6 1F (8^E
M^8\V=NP 9@QSJ7A2&,-UPE+[21Z*1-0,QMX! [\P\ UN.Y%!^98H,CT7?(.$
M'@W>]!<3JK$&<"S5JW*K!#QE8*>F'Q<+*EBZE.<]!>[TS5Y8F+ZVIOX!TVLZ
M[R)_>()\SP_0I]NWZ.CE,9(K(N@C;ST 52+S2V2^<3]H07:*<!,VI[&NY5.9
MD9!>=*!8)15KVIF^>H&'WID#6K^$UC?>^VW0FH#UOP.P00ELX,S9-:5H)NB:
M\5S&6S0C+&J"Z':R(+&D#C!!"29P+Z!:48%N\I@V87#;*I&[( Q+"$.GFUL:
MYH*I+;K;9HTHW.97GW,P=N 8E3A&7X;C34RD1'=,-2?%[<4:7Z*0)PD0&G!#
M>'^"7GI=S\,H(P*M29Q3E$'631>>H*+"(@3TC9B4.4E#&) +_4TAQ1&L$;JA
M2R:5@#L_@7N@W @L2!K! ZF(@@O?PT-TJ^=#'S/+IO#X'3A+-:FB64Q21YK&
M99K&S@ O$YX#+(N'"ICXST8^L<FRO@+C2V\^Z^EHV/>"_N"\MVX ,2E!3)P@
M9H)G7,+<[\D#2_($[;H=.HN%-KV?4J::(%G/PQHDC(==+VA&A+V*I#TGIAV4
MR^52T"4LR2-0C>1M78YJ8,;C(/#[@Y'7'1U 5-LV<"O3W "0QIFMZ;@VLZY1
M#P=]?&#>:E/ [EVA*!&^**O6E"/ :41BG4WJ"](/@E&_.SRT)M4>@)U,7FX"
MZ ,_D(9G[ 1'^!C-:NVIV1,-\/"('.N8=;<67,(H]&IH,H$G_?X)(A*1HG>/
M]+A7+\:^[YWM#S<W\=GQ";AB<C^'M[K7P8,"@EE3 >[2+2)1Q/13$A>=J"=L
M(B)]_V[#8L8U+W3W,%0$LYL?IB<*S2EXH):8YA!H#NC%(TK2%GAT]A7$A(X*
M&&:POE.BF&^!(HD$,T"OP[6A1&S-(ICMI+B66<R49M.09$R1F/UA,P:DRLTF
M)UG"8B!@C5@2JS<IU$>H,6Z86H$>/A07>*4L,PL9<E"[D +K?;-BX4I3. A,
MB9@.#?Z'&C#5E]I?FB=SF+\H#9@%\I)&NBJKU3HP;],B=G^ QW@R.4-W8$1L
MKXF*C@4UI9HJ71R(Y*!. 6M8P0)'OY T!WV/<"$,BTVF0EH@(VL".=/+OK<Y
M5350+I>)/0RYB,P(G4\SH)J?I#!G7,'(!%\S?7 H$U ZVP\QVY%]4C LWW5U
M5I)]#F0/^!#4'$M,U37@L8T:C(["8U."1ZM##2MY3$&;Z:#U4]B,-0*S_"0.
M\Q@"@NGU(U'OS@4UV=7WX13"RL (M"H<GW:7*SB%& !PW+(Q'.Q80QFPHESH
MF K?'^ <]3N<HXJFNGH(5R1=FJE![PNSLGZQM%WDV/-QI5FQ6V]60M]OI%&G
M]3,%-:Y$+ Z>K_6Q4\4^%UNE;K%;GWZAW&_QTJ;W<:5RL5N@NA5_BW&+Y,>5
MB,1N%=DJ^EOL6U4_KJ0D=FO)+]7]+6[^9N%_E60QWT*M64X ?0*D(%M5OU_)
M6]\M;Y^F^PMG=>&/ W^(O6&SI/,K4>N[1>W72/_"=5W[3\8@,[WJ[X#X]6N_
MB+C%[W.. 87+T5ZVO"#P^L&P.SF J!+!OEL$NXX!A>D3C@%^M6?X[CWC:<>
MPEG]&.#WO<&DZQ\JF6I[\%M^Y&@[!;CM#YP"_">> KZ/G-^GB&\JV5V4LJ_7
MKVYGL__U^K]!KS=@+E?PFTEX[>R_).''P8__""4_>R0-RF2?[$*T#6IS6D!L
MH9!F$:(;D-JJV; X!D9!P"LQ++JJ9P.BKAIE09B ]17W5!5:1_>_G?\P@]D\
M+)@ S[ &ILTBLBV[KZP3^."180=K0A^H"!E$&T&M-)]R>K57+OKUU7LBE@QJ
M-:8+X'FO.P+:%_:-D+U0/#-O8>9<0<F;KRM*( MZ #Q?<-A B@O]8J=\+S?]
M"U!+ P04    "  OA%I:D9A3[BH"  !A!0  &    'AL+W=O<FMS:&5E=',O
M<VAE970S+GAM;(U46V_3,!3^*Y9!""34I.Z2=B6)M&Z:F#2@6AD\(![<]*2U
M%L?!=IOQ[_$EC8*45GV)?>SS78Z=XZ01\D7M #1ZY66E4KS3NIX'@<IWP*D:
MB1HJLU,(R:DVH=P&JI9 -P[$RX"$81QPRBJ<)6YM*;-$['7)*EA*I/:<4_EW
M :5H4CS&QX4GMMUINQ!D24VWL +]7"^EB8*.9<,X5(J)"DDH4GPSGB]BF^\2
M?C!H5&^.;"5K(5YL\+!)<6@-00FYM@S4# >XA;*T1,;&GY83=Y(6V)\?V>]=
M[::6-55P*\J?;*-W*9YAM(&"[DO]))K/T-836;Y<E,I]4>-S28Q1OE=:\!9L
M''!6^9&^MN?0!Y 3 -("B//MA9S+.ZIIEDC1(&FS#9N=N%(=VIACE;V4E99F
MEQF<SNX!%%KY&TD";1CM>I"WZ(5'DY/H]0B1^",B(8G0\^H.O7_[X7^:P!CJ
M7)'.%7&\DPM<H5^/9A<]:.#J]Y!%3W4U3&5_ZKFJ:0XI-G^M GD G+U[,X[#
M3V>,3CJCDW/LV7>A:8F^%05(5FV'W'G\U.%MAQRR<3B)P^ED1J:C. D. ^I7
MG?K5!>KFL- -%_M*#^E[AKBO'\UB0D;7XV'QJ!./+BM=F:?CM+XGB7KZX;!N
MW.G&9W6_&CE3\I"6!UY?4&O0ZQC[^'RA<LLJA4HH##8<38UAZ1O:!UK4KHG6
M0IN6=-.=>0-!V@2S7PBACX'MR^Y5S?X!4$L#!!0    ( "^$6EKU_+^+% ,
M !H1   -    >&PO<W1Y;&5S+GAM;-U846^;,!#^*XAN4RM-)0DK"VN(M"%5
MFK1-E=J'O55.,,22L9EQ.K)?/Q\FA*2^JNO#EHXHY>X^W]WGNZ-&F=5ZP^G-
MBE+M-247=>*OM*X^!$&]7-&2U.>RHL(@N50ET49515!7BI*L!J>2!Y/1* I*
MPH0_GXEU>57JVEO*M=")'_8FS]X^9XD_CM[YG@V7RHPF_MWIFQ]KJ2]?>?9^
M\O;D9'0^NCN[/$1..^C,#YR!+_8#=ZOA>FVBG0YU+$3T)&Z/D;/L@JX4\UDN
MQ7Y%P&!RDY)Z]X0G?DHX6R@&7CDI&=]8\P0,2\FE\K1IA2$S!DO]R\)CJT&7
MNC@E$U*UN6T&^W?1+3\ MAH09)SW!">^-<QG%=&:*G%EE'9Q:WP >9U\NZD,
MPT*1S7ARX>\<VIM)LI JHZI/,_:WIOF,TQSH*%:LX*YE%0"HM2R-D#%22$%:
M#EN/3C!AEY3S&QCA[_E>["8?='4$/16]: AUH@UC%8@_C&9C#\..GA77J]B]
MU)_69CNBU6%8Z+6B.6M:O<E[ ECT,1Z=5!7??.2L$"6UFW]RPOF,;/V\E53L
ME\D&H[(T!JI\[YXJS99#RT]%JEO:Z.TX-3G.>?(".?_=.A=44$7XD+29_6.N
M\K,9A^__%>7VO\HA83?'^/@Y=F?GL9.\> DDHZ,D&72GSN!HVSO8>JL'+Q")
M_PU>5O@NJ;=8,ZZ9Z+05RS(J'IQO)KPF"_/BMQ??K,]H3M9<W_9@XN_DKS1C
MZS+N5UU#(;I5._D+;&\<]6\O)A<3&6UHEG:J*A:MZ!G!9.TN<#A$KMK+C6 ^
M%G,C@&%Y, :8C_7"\OQ/^YFB^[$8QFWJ1*:HSQ3UL5XN)&T_6!ZW3VPN]T[C
M. RC"*MHFCH9I%C=H@B^[F@8-_# \D"F/ZLUWFU\0AZ? ZRGCTT(ME-\$K&=
MXK4&Q%TW\(AC=[>Q/."!=0&;'<COS@,SY?8)0^@JQ@U[@G$DCC$$9M$]HU&$
M5">"C[L_V%,2AG'L1@!S,PA##(&G$4<P!L !0\*P/0</SJ-@>TX%NU]#YK\!
M4$L#!!0    ( "^$6EJ7BKL<P    !,"   +    7W)E;',O+G)E;'.=DKEN
MPS ,0'_%T)XP!] AB#-E\18$^0%6H@_8$@6*19V_K]JE<9 +&7D]/!+<'FE
M[3BDMHNI&/T04FE:U;@!2+8ECVG.D4*NU"P>-8?20$3;8T.P6BP^0"X99K>]
M9!:G<Z17B%S7G:4]VR]/06^ KSI,<4)I2$LS#O#-TG\R]_,,-47E2B.56QIX
MT^7^=N!)T:$B6!::1<G3HAVE?QW']I#3Z:]C(K1Z6^CY<6A4"H[<8R6,<6*T
M_C6"R0_L?@!02P,$%     @ +X1:6E)Q;[5= 0  2 ,   \   !X;"]W;W)K
M8F]O:RYX;6RUDMU*PT 0A5\E[ .86G_ TO3&4A5$BY7>;Y*)&=S="3,;:WUZ
M)PG!@"#>]&HS9Y:3;\[.\D#\GA.])Y_>!<E,'6.S2%,I:O!6SJB!H)V*V-NH
M);^ETC#84FJ Z%TZG\VN4V\QF-5R]-IR.BTH0A&1@HJ=L$<XR$^_*Y,/%,S1
M83QFIO]V8!*/ 3U^09F9F4FDIL,],7Y1B-;M"B;G,G,^-/; $8M?\JZ#?+6Y
M]$JT^8M5D,Q<S]2P0I;8W^C]K3)^@%X>JC;2!ET$7ML(=TQM@^&ML]$ITLD8
M?0[C.82XX/_$2%6%!:RI:#V$..3(X#K (#4V8I)@/61FU^8>153NAM*_/)3#
M@%'))G'Q K7!#V7/>#J>YZH"UC!D@C/_ V=^6IP-@"2[UGO+QPG1Q1]$%_TC
MCB]70H4!RB=U$]5UBXHM)]W1!SV_O#J_T6UIG;M5[3D\DBW'11B7>/4-4$L#
M!!0    ( "^$6EJ[;.KLN@   !H#   :    >&PO7W)E;',O=V]R:V)O;VLN
M>&UL+G)E;'/%DSD.@S 01:^"? "&)4D1 54:VH@+6# L8K'EF2AP^Q HP%**
M-(C*^F/Y_5>,HR=VDALU4-UH<L:^&R@6-;.^ U!>8R_)51J'^:94II<\1U.!
MEGDK*X3 \VY@]@R11'NFDTT:_R&JLFQR?*C\U>/ /\#P5J:E&I&%DTE3(<<"
MQFX;$RR'[\YDX:1%+$Q:^ +.%@HLH>!\H= 2"@\4(IXZI,UFS5;]Y<!ZGM_B
MUK[$=6@OR?7K -972#Y02P,$%     @ +X1:6J;\2ELC 0  WP0  !,   !;
M0V]N=&5N=%]4>7!E<UTN>&ULS93/3L,P#,9?I>IU:C*&Q &MNP!7V($7"(V[
M1LT_Q=[HWAZWW2:!1L4T)+@T:FQ_/\>?DN7K/@)FG;,>R[PABO=28M6 4RA"
M!,^1.B2GB'_31D95M6H#<C&?W\DJ> )/!?4:^6KY"+7:6LJ>.MY&$WR9)["8
M9P]C8L\J<Q6C-94BCLN=UU\HQ8$@N'+(P<9$G'%"+L\2^LCW@$/=RPY2,AJR
MM4KTK!QGR<Y*I+T%%-,29WH,=6TJT*':.BX1&!,HC0T .2M&T=DTF7C",'YO
MKN8/,E- SERG$)$=2W Y[FA)7UU$%H)$9OJ()R)+7WT^Z-W6H'_(YO&^A]0.
M?J <ENMG_-GCD_Z%?2S^21^W?]C'6PCM;U^Y?A5.&7_DR^%=6WT 4$L! A0#
M%     @ +X1:6@=!36*!    L0   !               ( !     &1O8U!R
M;W!S+V%P<"YX;6Q02P$"% ,4    "  OA%I:(?O:%NX    K @  $0
M        @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    "  OA%I:
MF5R<(Q &  "<)P  $P              @ ', 0  >&PO=&AE;64O=&AE;64Q
M+GAM;%!+ 0(4 Q0    ( "^$6EHI%(O0/P(  "@&   8              "
M@0T(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    "  OA%I:
MDSHY'[ &  "C&P  &               @(&""@  >&PO=V]R:W-H965T<R]S
M:&5E=#(N>&UL4$L! A0#%     @ +X1:6I&84^XJ @  804  !@
M     ("!:!$  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    (
M "^$6EKU_+^+% ,  !H1   -              "  <@3  !X;"]S='EL97,N
M>&UL4$L! A0#%     @ +X1:6I>*NQS     $P(   L              ( !
M!Q<  %]R96QS+RYR96QS4$L! A0#%     @ +X1:6E)Q;[5= 0  2 ,   \
M             ( !\!<  'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( "^$
M6EJ[;.KLN@   !H#   :              "  7H9  !X;"]?<F5L<R]W;W)K
M8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( "^$6EJF_$I;(P$  -\$   3
M          "  6P:  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@     +  L
*R@(  , ;      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>3</ContextCount>
  <ElementCount>19</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>1</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="d916292dexfilingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995210 - Document - Submission</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/submissionTable</Role>
      <ShortName>Submission</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="d916292dexfilingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995211 - Document - Offerings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesOfferingTable</Role>
      <ShortName>Offerings</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="d916292dexfilingfees.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995215 - Document - Fees Summary</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesSummaryTable</Role>
      <ShortName>Fees Summary</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="EX-FILING FEES" original="d916292dexfilingfees.htm">d916292dexfilingfees.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="2">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="27">http://xbrl.sec.gov/ffd/2024q2</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>16
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "d916292dexfilingfees.htm": {
   "dts": {
    "inline": {
     "local": [
      "d916292dexfilingfees.htm"
     ]
    },
    "schema": {
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ffd/2024q2/ffd-2024q2.xsd"
     ]
    }
   },
   "keyStandard": 19,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/dei/2024": 1,
    "http://xbrl.sec.gov/ffd/2024q2": 5
   },
   "contextCount": 3,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2024q2": 27,
    "http://xbrl.sec.gov/dei/2024": 2
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/ffd/role/document/submissionTable",
     "longName": "995210 - Document - Submission",
     "shortName": "Submission",
     "isDefault": "true",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "P02_26_2025To02_26_2025",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P02_26_2025To02_26_2025",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
     "longName": "995211 - Document - Offerings",
     "shortName": "Offerings",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable",
     "longName": "995215 - Document - Fees Summary",
     "shortName": "Fees Summary",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "3",
     "firstAnchor": {
      "contextRef": "P02_26_2025To02_26_2025",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "P02_26_2025To02_26_2025",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "Unit_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "td",
       "tr",
       "table",
       "div",
       "div",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "d916292dexfilingfees.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AggtRedRpPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtRedRpPricPrrFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AggtRedRpPricPrrFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Prior Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, Prior FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtSalesPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AggtSalesPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Sales Price, Fiscal Year",
        "terseLabel": "Aggregate Sales Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtRedCdts": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AmtRedCdts",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Redemption Credits",
        "terseLabel": "Redemption Credits"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtSctiesRcvd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AmtSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Received",
        "terseLabel": "Amount of Securities Received",
        "documentation": "Amount of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_AmtSctiesRegd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "AmtSctiesRegd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Registered",
        "terseLabel": "Amount Registered",
        "documentation": "The amount of securities being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CeasedOprsDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CeasedOprsDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ceased Operations Date",
        "terseLabel": "Ceased Operations Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CfwdFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CfwdFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Form Type",
        "terseLabel": "Carry Forward Form Type",
        "documentation": "The Form Type of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrevslyPdFee": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CfwdPrevslyPdFee",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Previously Paid Fee",
        "terseLabel": "Filing Fee Previously Paid in Connection with Unsold Securities to be Carried Forward",
        "documentation": "The fee previously paid in connection with the securities being brought forward from the prior shelf registration statement on which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CfwdPrrFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Prior Effective Date",
        "terseLabel": "Carry Forward Initial Effective Date",
        "documentation": "The initial effective date of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CfwdPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward File Number",
        "terseLabel": "Carry Forward File Number",
        "documentation": "The EDGAR File Number of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). If the prior registration statement has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CmbndPrspctsItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CmbndPrspctsItemAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Item [Axis]",
        "terseLabel": "Combined Prospectus",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different references to earlier prospectuses on a single fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CmbndPrspctsLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Line Items]",
        "terseLabel": "Combined Prospectus:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CmbndPrspctsTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Table]",
        "terseLabel": "Combined Prospectus Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CombinedProspectusTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Table [N/A]",
        "terseLabel": "Combined Prospectus Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CshPdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CshPdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid by Registrant in Transaction",
        "terseLabel": "Cash Consideration Paid",
        "documentation": "Amount of cash consideration paid by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "ffd_CshRcvdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "CshRcvdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received by Registrant in Transaction",
        "terseLabel": "Cash Consideration Received",
        "documentation": "Amount of cash consideration received by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "ffd_FeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Amount",
        "terseLabel": "Amount of Registration Fee",
        "documentation": "Total amount of registration fee (amount due after offsets)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeExhibitTp": {
     "xbrltype": "feeExhibitTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeExhibitTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Exhibit Type",
        "terseLabel": "Fee Exhibit Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_FeeIntrstAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Interest Amount",
        "terseLabel": "Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note",
        "terseLabel": "Fee Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNoteMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeNoteMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note Maximum Aggregate Offering Price",
        "terseLabel": "Fee Note MAOP"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeeRate",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Rate",
        "terseLabel": "Fee Rate",
        "documentation": "The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesOthrRuleFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeesOthrRuleFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees, Other Rule [Flag]",
        "terseLabel": "Other Rule",
        "documentation": "Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesSummaryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FeesSummaryLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees Summary [Line Items]",
        "terseLabel": "Fees Summary:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FnlPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FnlPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Final Prospectus [Flag]",
        "terseLabel": "Final Prospectus"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FormTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "FormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Form Type",
        "terseLabel": "Form Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_GnlInstrIIhiFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "GnlInstrIIhiFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Instruction II.H,I [Flag]",
        "terseLabel": "General Instruction II.H,I"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrCity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrBizAdrCity",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, City",
        "terseLabel": "City"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStatOrCtryCd": {
     "xbrltype": "stateOrCountryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrBizAdrStatOrCtryCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, State or Country Code",
        "terseLabel": "State or Country Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt1": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrBizAdrStrt1",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 1",
        "terseLabel": "Street 1"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt2": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrBizAdrStrt2",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 2",
        "terseLabel": "Street 2"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrZipCd": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrBizAdrZipCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Zip Code",
        "terseLabel": "Zip Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrNm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "IssrNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Name",
        "terseLabel": "Issuer Name"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_MaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "MaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Aggregate Offering Price",
        "terseLabel": "Maximum Aggregate Offering Price",
        "documentation": "The maximum aggregate offering price for the offering that is being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_MaxOfferingPricPerScty": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "MaxOfferingPricPerScty",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Offering Price per Security",
        "terseLabel": "Proposed Maximum Offering Price per Unit",
        "documentation": "The maximum offering price per share/unit being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetFeeAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "NetFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Fee Amount",
        "terseLabel": "Net Fee"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetSalesAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "NetSalesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales Amount",
        "terseLabel": "Net Sales"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvDsclsr": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "NrrtvDsclsr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure",
        "terseLabel": "Narrative Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "NrrtvMaxAggtAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Amount",
        "terseLabel": "Narrative - Max Aggregate Offering Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "NrrtvMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Price",
        "terseLabel": "Narrative - Max Aggregate Offering Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Axis]",
        "terseLabel": "Offering",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different security offerings on a single fee bearing submission."
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Note",
        "terseLabel": "Offering Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Title",
        "terseLabel": "Security Class Title",
        "documentation": "The title of the class of securities being registered (for each class being registered)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Type",
        "terseLabel": "Security Type",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Table]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Table [N/A]",
        "terseLabel": "Offering Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OffsetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset [Axis]",
        "terseLabel": "Offset",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different offsets as applied to a fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetClmInitlFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetClmInitlFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claim Initial Filing Date",
        "terseLabel": "Initial Filing Date",
        "documentation": "The initial filing date of the earlier registration statement with which the earlier (offsetting) fee was paid for a claimed offset. If the offset fee was paid with an amendment, do not provide the amendment date under this element; instead, provide the date of the initial filing (i.e. the \"parent\" filing) ."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Amount",
        "terseLabel": "Fee Offset Claimed",
        "documentation": "The amount of offsetting fees being claimed."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdInd": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetClmdInd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Indicator",
        "terseLabel": "Offset Claimed"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetExpltnForClmdAmt": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetExpltnForClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Explanation for Claimed Amount",
        "terseLabel": "Explanation for Claimed Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetLineItems",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset:",
        "label": "Offset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Note",
        "terseLabel": "Offset Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetPrrFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Fee Amount",
        "terseLabel": "Fee Paid with Fee Offset Source",
        "documentation": "The fee prevoiusly paid from which an offset is being derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior File Number",
        "terseLabel": "File Number",
        "documentation": "The EDGAR File Number of the earlier registration statement with which the earlier (offsetting) fee was paid. If the offset filing for the offset has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFilerNm": {
     "xbrltype": "filerNameItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrFilerNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Filer Name",
        "terseLabel": "Registrant or Filer Name",
        "documentation": "The name of the registrant that filed the earlier registration statement with which the earlier (offsetting) fee was paid."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Form Type",
        "terseLabel": "Form or Filing Type",
        "documentation": "The Form Type of the offset filing."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrNbOfUnsoldScties": {
     "xbrltype": "nonNegativeIntegerItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrNbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Number of Securities",
        "terseLabel": "Unsold Securities Associated with Fee Offset Claimed",
        "documentation": "The number of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Title",
        "terseLabel": "Security Title Associated with Fee Offset Claimed",
        "documentation": "The title of the class of securities from which offset fees were derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Type",
        "terseLabel": "Security Type Associated with Fee Offset Claimed",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrUnsoldOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetPrrUnsoldOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Offering Amount",
        "terseLabel": "Unsold Aggregate Offering Amount Associated with Fee Offset Claimed",
        "documentation": "The aggregate offering amount of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetSrcFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetSrcFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Source Filing Date",
        "terseLabel": "Filing Date",
        "documentation": "The filing date of the earlier registration statement with which the earlier (offsetting) fee was paid in an offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset Payment:",
        "label": "Offset [Table]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Table [N/A]",
        "terseLabel": "Offset Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_PrevslyPdFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "PrevslyPdFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Previously Paid [Flag]",
        "terseLabel": "Fee Previously Paid"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RegnFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "RegnFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration File Number",
        "terseLabel": "Registration File Number"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RptgFsclYrEndDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "RptgFsclYrEndDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Fiscal Year End Date",
        "terseLabel": "Reporting FY End Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule011Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 0-11 [Flag]",
        "terseLabel": "Rule 0-11"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011a2OffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule011a2OffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 0-11(a)(2) Offset",
        "label": "Rule 0-11(a)(2) Offset [Flag]"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule415a6Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule415a6Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 415(a)(6) [Flag]",
        "terseLabel": "Rule 415(a)(6)",
        "documentation": "Checkbox indicating whether filer is claiming a 415(a)(6) carryforward."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_Rule429AggtOfferingAmt": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429AggtOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Aggregate Offering Amount",
        "terseLabel": "Maximum Aggregate Offering Price of Securities Previously Registered",
        "documentation": "The maximum aggregate offering amount of unsold securities registered on the prior registration statement that are carried forward under Rule 429. Only applicable if 457(o) was used in the fee calculation for the prior registration statement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429CmbndPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429CmbndPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Combined Prospectus [Flag]",
        "terseLabel": "Rule 429",
        "documentation": "Checkbox indicating whether filer is using a combined prospectus under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429EarlierFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier File Number",
        "terseLabel": "File Number",
        "documentation": "The Securities Act File Number of the earlier effective registration statement(s) from which securities may be offered and sold using the combined prospectus pursuant to Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429EarlierFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier Form Type",
        "terseLabel": "Form Type",
        "documentation": "The Form Type of the earlier registration statement from which unsold securities are carried forward under Rule 429. This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429InitlFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429InitlFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Initial Effective Date",
        "terseLabel": "Initial Effective Date",
        "documentation": "The filing date of the earlier registration statement from which unsold securities are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429NbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429NbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Number Of Unsold Securities",
        "terseLabel": "Amount of Securities Previously Registered",
        "documentation": "The number of securities registered on the prior registration statement that are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429PrspctsNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429PrspctsNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Prospectus Note",
        "terseLabel": "Combined Prospectus Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429SctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Title",
        "terseLabel": "Security Class Title"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule429SctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Type",
        "terseLabel": "Security Type"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule457aFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457aFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(a) [Flag]",
        "terseLabel": "Rule 457(a)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(a) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "ffd_Rule457bOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457bOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(b) Offset [Flag]",
        "terseLabel": "Rule 457(b) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(b) or 0-11(a)(2)."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ffd_Rule457fFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457fFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(f) [Flag]",
        "terseLabel": "Rule 457(f)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_Rule457oFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457oFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(o) [Flag]",
        "terseLabel": "Rule 457(o)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(o) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "ffd_Rule457pOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457pOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(p) Offset [Flag]",
        "terseLabel": "Rule 457(p) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(p)."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ffd_Rule457rFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457rFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(r) [Flag]",
        "terseLabel": "Rule 457(r)"
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ffd_Rule457sFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457sFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(s) Flag",
        "terseLabel": "Rule 457(s)"
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ffd_Rule457uFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Rule457uFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(u) [Flag]",
        "terseLabel": "Rule 457(u)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(u) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "ffd_Scties424iAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Scties424iAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Axis]",
        "terseLabel": "Securities, 424I"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Scties424iLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Line Items]",
        "terseLabel": "Securities, 424I:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Scties424iTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Table]",
        "terseLabel": "Securities, 424I Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Securities424iTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities 424I [N/A]",
        "terseLabel": "Securities 424I N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "SubmissnTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission Type",
        "terseLabel": "Submission Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TermntnCmpltnWdrwl": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TermntnCmpltnWdrwl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination / Completion / Withdrawal Statement",
        "terseLabel": "Termination / Withdrawal Statement"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TtlFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee Amount",
        "terseLabel": "Total Fee Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlFeeAndIntrstAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlFeeAndIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee and Interest Amount",
        "terseLabel": "Total Fee and Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offering Amount",
        "terseLabel": "Total Offering"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOffsetAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlOffsetAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offset Amount",
        "terseLabel": "Total Offset Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlPrevslyPdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlPrevslyPdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Previously Paid Amount",
        "terseLabel": "Previously Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlTxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TtlTxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Transaction Valuation",
        "terseLabel": "Total Transaction Valuation"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "TxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Valuation",
        "terseLabel": "Transaction Valuation"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_ValSctiesRcvd": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "ValSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received",
        "terseLabel": "Value of Securities Received",
        "documentation": "Value of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_ValSctiesRcvdPerShr": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2024q2",
     "localname": "ValSctiesRcvdPerShr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received, Per Share",
        "terseLabel": "Value of Securities Received, Per Share",
        "documentation": "Value per share of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form). This is included in the explanation of 457(f) fee calculation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "415",
   "Subsection": "a"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "429"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "f"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "o"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "p"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "r"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "s"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "u"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Subsection": "f",
   "Section": "457"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>17
<FILENAME>0001193125-25-036802-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001193125-25-036802-xbrl.zip
M4$L#!!0    ( "^$6EIE%:'X_@T  *&.   8    9#DQ-C(Y,F1E>&9I;&EN
M9V9E97,N:'1M[1UK<]JZ\GM_A8;S:#K#PS9O2+B3ILFYN2=-F(3.]'[J"%N
M;HU-93F!\^OOKFR#30R!A#0D]9DY*;;DU;YWM9:LPW]-QS:Y9<+CKG/T7B]J
M[PES3-?BSO#H_?'-R?GY^W]UWAV.)'2#KH[7LKGS_2@WDG+2*I7N[NZ*T[ZP
MBZX8E@Q-*Y>PN4\]E@N[8ZO%YP_$.]=*0>.\ZSW0=V755V\VFR75.N_J\;2.
M %0O??U\<6..V)@6N.-)ZI@)7/@:W)?[6VP)<8^9Q:%[6X(&>,*H1!VYYU8,
MO;X.=- C>D#>V6ZBM[SC-G>+ICM&P%7-,&H++":"F50R:R7\9HD*4[@V*RTZ
M1X^;KN](,4LG)&Q,$&/Z0H .K'HB;$T\PJ;F*+T[MB2Z.I2;7GI?U93H['$S
MO2LT)#O*B5C1$UH277VO,*1T,N\]H%Y?\3%L2'2>VFMD^O4BII&^%&O$ ZU1
MQ\' 2L<4&M38/XPY54+>1Q-N)G5O*M,'Y@Y8#/OZ\?JB) 5UO($KQE2"G>/C
M1D$S"GIM 605\GHY!BAN2.LXL^0$5MLT^I48(07@1:)SQ)MUM.C5@M8HE/4<
M^BE&+?A'<FFSSNG7PMGYQ?GE7^3L]/3FL!3<?7<X9I(2TW4D<X!UDDUE"?%H
M$W-$A<?DT9?>6:&1(XA'@?WP^>U1[B3H7NC-)BQ7 B"E<*B^:\V()V<V.\HA
MCH41X\.1;#F(H=WN4_/[4("56073M5W1NAMQR=JYSJ'%;Z/G+.Y-;#IK$<=U
M&#3Q:0NA,Q'\Y);%'/43VB_],1/<) X=XY.,MTX=(&QV M@):I\[%IO^S6:Y
M@,"IO&:#HUQ7,[X9M6_H67KNXG>.<-!%/KTMH+OI:. ]*Y5ZK=8\+"4&2Q\;
M]+5UQMCI=,3[7/8F6P]9S]T3T8;#=@6[]>Q9USJSAQL-^TU'P5F?V;C/!$"X
M&@P I#,\GG(OCE(CUQE0VV//B(FQ&2;-;3&) -V8<M8#30^ !<JCE_5JI5ZI
M&T]G5N?$IIY'C@'0>.PZH,*N^3U/?M>*H#UD0@6YI;;/R(0)XH$]L3P1S&/B
MEED$K)9PS_,QQI*)+_"7)-(E<L3(-1MR#XU;O@?P8P:*;!'J6-  41D"&@%3
MKY$;'(]<3=#X5?,Y  ,+N&6D:U-GE^QJZ$^7Z$NSZW0\L=T98R'?NKX )^>M
MX%4IZ6T$ T(@UC.O<X@>O>6IM IX050RUI) ]U'.XS &NGIU;R205>@ZO=4!
M#G\6@I_%J6>!0U5CQP=4EYX+^.*5RMQ:H3"4I%;YEPX).S/E%N>7W,(; XY\
M1C)8:IPY.?\[Z0>7'P9XI53X($#N6O-+D(&0GT .'<0*@ZU1BYY<M"UPM5;T
MC5KFP\['*25XL@6+UIOWL[,OY $;@L[*\-KB2I="G(C%H4W-2!*F&B&(00]#
M[:7;T0]+L:N0*4EH"U8MQGSU(ESK<EZ7"(TW*$+?X8'\OL"/;U]N/BV$,F;4
M\P7KA!/"%C1&0**F.50$DPX2H@&[#S/$#7X^ J2*/MXJH$'K V!+2:==BN6Q
M)4AW5<Z[^+,F:YXGQ$'>OY0N(Z<+U.9#IX6AGXED\QVWY*C5*%:YTXYUM=E
MML=4#+E3P-\M0GWI1G>$&E[=2D(+VZ4[:1%M(MLDO-%WI73'X;T!B+_@\7]8
MB^B+&P,ZYC80\></WY7M'EB$1R[9';EVQ]0);K9)#$.BD%@B5D&Z"[C3=VUK
MSILY:\($'$:N%W42<KJTS.4X'4;EF0D)Q+(U)2?'%R=?+HY[YU>7Y.J,+&8&
MI'?\\>+T9B/B=&,_B3L#U28KT]$;OS^&7,_9?AI5J^;6S,]@T$> A,G@3:&1
MFA_&KC<11XK)+,GBOBB69-!.L?<#Q4T,@A_(Z]3U!Z;SB_3^$EJV%B!,K7NJ
MHHC3H^(^">YT2DVIR"7N .8Z$9F$>L2;,!-S# O\/N'24P49>.P!&:=9_"YP
MO1=S+&:Z0I6=6L2'"9=0LB0VD]"_X$VH"2D.:M<45"0(&-/[DN_1OLV(3@HX
MNCT+9W(P\;'(#3-]P27'2(L$I] =HPG)7I+8/2;D.G_^IM>T=@#HW:%4@YO,
MMB?44E7^G)93UR'ZZOI^H%794IM\O+K^='I=.+FZN#CNWIRVHA_K>;LLB"!"
MZYKV1[OO"N!C2PLQ;VEA" 9,!?ZQDE&]\H<JOBUNWS(AN4GM$,V \&B Y<[!
M[?H.8!C:#H T]P1&8P<P]%U(1M\%5W5U_[ 4Z(^(&B=TR I]P>AW?"T$TYD6
MO76Y13;6W 8:4WRXP!9:6K%>G4CBN39 ^TU3_[5):%U!I@F/ME,IB:PSLE%I
M)4:(S.WB]*RW8IRP1^^JN[[#QZM>[^IS>I_'H+;IN-?G?_W[ =RW1JVM:NC*
MWS((:W>"3AYRW]MF\8TGYP,D/JTAX;QFVR3AS]\:>K/2#L/"++S<) M.(U+?
M3R(QBTN0E)E!9@8)#8GT_[&*OZ=DJ5<#;\V8\1WKWEMS9L<OHAQGC+TQ$PXC
M\@FU3=]6,\.W&:.O_<RJ,ZM.UXWC,2XB>VL*/R_*9&J?J7V:AG2%.W&])?UX
M_62%\>LSG?*Q/WYB--M3&J.WT6^,K*[@)B-=)MZ8+\;7TYD7SKQPFFZ$?NJ-
M6?+Q<"C8D,JW-EUZJN/=4P>E'&_FH3(/M>.BQYZJ^_6R8\JT/>7-7["BS%CU
MZN_7,8"@/D#<P1L+9M$2':SZO3$+7_99:$N[?Z.N:SM]I0Y,?H2])%:$ZFP<
M,I4[N."Y10KJUA.6BJ6+XT#_H*;6U?8>N]"]2AM BINZS(VV_&RV*'+#?6.U
M1JYS^L-7KRB7UTQF@MT,M;CEXC[0 I\6@LU(K:5-;"O>I 94'0?_!-NM@M\K
M]EP%C4_8> 46;.CU]I-VJ^VM\>^5=CS5\B&>>5=R)/ UUFZVC 8;D-'\96O
MI\PJ2.&SN$MHPG07]$6\"H_P&J4=U:8#]IX):BHK6TC]>"S!U7/F@<E:.Y Y
M;G)13\?WRQ"+F1R"NA<LG 5:F/H55Q#''Q<L5ZT?QJXQ+:EKN4X]7RMK^6JY
M$FE*1,J<PDQC=J,QOZ_6E<]T&@D;JSE=)C!+V+G2J'U;,94Q'J$R>JZCZ[6B
M5KVG+YFB[-:UK->7X^%0QG5FY\J"^P:?J"M&KM-H5/-5HYROU(%-6N9C7CHJ
M02Z"!;1G=RWGEV>/4)ARKH-ILJ97RWJF*S^_WK?&Y8#B0$:SCUZF A&I#%ZF
M7B[65D2EK'JTR^J1\6&/9XY[Y;M?J&RTV4=^ZM6L;/14U#8M&S7T%66C9_TV
MSP8EHO5?Z-E;*]\K-7B1^M!:&W^P/E2O9?6AGR+MW12&U@K[.0I#=<BI8-Y6
MR^M:+9OHO[**T!;:LHN*4"/7:396IMZ9GCRWGCRN$K2%DNQ@CM8$?U+5\E7X
MOURM%9OW*T&9LCQ[X-FJ]O,$)_*HVD]#6U?[R;1C[XL^/]6A-/1<QRCGM4JS
M:*Q(4)ZUYF.Z^,4:YRC7S/UR]9\MMV2[DMHDT@82+,?SL@6<SU/\-W0C*Y#_
MA+2K)^VY@]O003Z#$S1PEJ:5:WFM7LXWC'JQEN55F76]WDSDX1??8'=;Y"3/
M8')EG,@T\C7#*#;7OZ+,\H\]RC] :3 '\5B6>F3.,>-GQL^,GSO?*_9 L@R^
M=T=Q>^4+C>!5US],N/&078F)/RL4[&V@OF12A>E/?K:],W.!&3\S?F;\_'F5
M?O"^+SNQKJZ=6"\"-?S!C\BO^BI][#/T&WZ5_L&5=Y?N3M9+,V )'EB67(FC
M-^JY/?@P?A/X-/\8_N(#^;E-\J+D,MCH2_EI2R&7SL-1&Y'OF=8FSSUE_W[S
M\9O<_^=[D@]FJ_*=;FPA'J[E(A6]=D _X$D3N"YO<;P".3;QBP1$;Y;+>3QZ
M@H;K\PZP'SI"0VLGNZN;>OM#'D!QC\1W_Y,;7,^'!U.!DN)ARH0Z,X)JA*W4
M#E8/>CA@VI)#O!\[K2.!0W(I(8X/PU-)^@P@L& )(BJN.HYBY_M3R4&(ANJ,
M=^98]&<$]-"#QP![)#<@!=0"CPJS\N$UI)A<XKI),#TN08K_!!QS!7%Q]1OQ
M.*@ !=3Q6-?0*3(P6Q-QO.-RY/IR%5T E?&)$B0X![2'4![@C,T1+M;T;>GA
M82) "G=,1)CA)<(#3X@'E86J :/@V<]H^#%IK1@W38A%LORMA/5^LO8*#^]X
M(1^E:KK-^RG Z_53/= K&GP612Q.?Q%X=K<'YH?^0YV#@F<<FPO-!5W[#W5\
M*F9$SQ,,>-&*XX4RA\I+;RF8%:I+8J7RPDW,+5J9AVF"6%4/-#G583$^=6!,
M>X'&1+BW',_VF]O('%AF!9D5;&4%D_ KJH"%^I ?:%2X3F&BOF:):^^#<PH]
MR-\DY*PR.!YJ666#<%^M'Y@?5" [&*T*^Y#@,WNF[ );)[Y #%00B3[C#<-C
MDXC'^ %3!HCW^]3C<]VG(  0=G0Y B(5 K9[%]"P,NZKQ .,WA5(4P@;&?I?
M5WP/0_/IU!Q19ZB&/F-]H8S?"*U_C;4M+RK?PUQ][7*E]%S=T&J_<JYN_+*Y
M^O,DW<GT;J>)];I=/<FL^O2FV\VRZBRKSO*)-Y!5IZCUW,AWEF@CL,PP,L/X
MA1+M1O6/O<BWNTL[?>?VF(](#,)\P-,0Q0<2D?0]Q1C&6>!8[KAM0UY"(#NQ
MP2_(.#> ZD6X'5 N4,N^,QEN7<8L(AA_=1X4\&' !4 &&:A@;='9/(;/]42=
M>:]RC. 1-F7"Y$"M!;JRQ5PD\6YY^>^[PU+?M69P-9)CN_-_4$L! A0#%
M  @ +X1:6F45H?C^#0  H8X  !@              ( !     &0Y,38R.3)D
F97AF:6QI;F=F965S+FAT;5!+!08      0 ! $8    T#@     !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>d916292dexfilingfees_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2024q2"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2024q2/ffd-2024q2.xsd"
      xlink:type="simple"/>
    <context id="P02_26_2025To02_26_2025">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001447669</identifier>
        </entity>
        <period>
            <startDate>2025-02-26</startDate>
            <endDate>2025-02-26</endDate>
        </period>
    </context>
    <context id="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001447669</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-26</startDate>
            <endDate>2025-02-26</endDate>
        </period>
    </context>
    <context id="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001447669</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>2</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-26</startDate>
            <endDate>2025-02-26</endDate>
        </period>
    </context>
    <unit id="Unit_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_pure">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_shares">
        <measure>shares</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="P02_26_2025To02_26_2025" id="ixv-226">0001447669</dei:EntityCentralIndexKey>
    <ffd:FeeExhibitTp contextRef="P02_26_2025To02_26_2025" id="ixv-227">EX-FILING FEES</ffd:FeeExhibitTp>
    <ffd:PrevslyPdFlg
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      id="ixv-228">false</ffd:PrevslyPdFlg>
    <ffd:PrevslyPdFlg
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      id="ixv-229">false</ffd:PrevslyPdFlg>
    <ffd:OfferingSctyTitl
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      id="hidden131547472">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Stock Option and Incentive Plan</ffd:OfferingSctyTitl>
    <ffd:OfferingSctyTitl
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      id="hidden131547481">Class A common stock, $0.001 par value per share, reserved for issuance pursuant to the Registrant's Amended and Restated 2016 Employee Stock Purchase Plan</ffd:OfferingSctyTitl>
    <ffd:SubmissnTp contextRef="P02_26_2025To02_26_2025" id="ixv-265">S-8</ffd:SubmissnTp>
    <ffd:FormTp contextRef="P02_26_2025To02_26_2025" id="ixv-266">S-8</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="P02_26_2025To02_26_2025" id="ixv-267">Twilio Inc.</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      id="ixv-268">Equity</ffd:OfferingSctyTp>
    <ffd:FeesOthrRuleFlg
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      id="ixv-269">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      decimals="0"
      id="ixv-270"
      unitRef="Unit_shares">7630534</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-271"
      unitRef="Unit_pure">116.05</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-272"
      unitRef="Unit_USD">885523470.7</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      decimals="INF"
      id="ixv-273"
      unitRef="Unit_pure">0.0001531</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-274"
      unitRef="Unit_USD">135573.65</ffd:FeeAmt>
    <ffd:OfferingSctyTp
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      id="ixv-275">Equity</ffd:OfferingSctyTp>
    <ffd:FeesOthrRuleFlg
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      id="ixv-276">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      decimals="0"
      id="ixv-277"
      unitRef="Unit_shares">1526106</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-278"
      unitRef="Unit_pure">98.65</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-279"
      unitRef="Unit_USD">150550356.9</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      decimals="INF"
      id="ixv-280"
      unitRef="Unit_pure">0.0001531</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      decimals="2"
      id="ixv-281"
      unitRef="Unit_USD">23049.26</ffd:FeeAmt>
    <ffd:TtlOfferingAmt
      contextRef="P02_26_2025To02_26_2025"
      decimals="2"
      id="ixv-282"
      unitRef="Unit_USD">1036073827.6</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt
      contextRef="P02_26_2025To02_26_2025"
      decimals="2"
      id="ixv-283"
      unitRef="Unit_USD">158622.91</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt
      contextRef="P02_26_2025To02_26_2025"
      decimals="0"
      id="ixv-284"
      unitRef="Unit_USD">0</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt
      contextRef="P02_26_2025To02_26_2025"
      decimals="2"
      id="ixv-285"
      unitRef="Unit_USD">158622.91</ffd:NetFeeAmt>
    <ffd:OfferingNote
      contextRef="P02_26_2025To02_26_2025_1TypedMemberffdOfferingAxis"
      id="ixv-187">
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;(1)&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;Pursuant to Rule 416(a) of the Securities Act of 1933, as amended (the &#x201c;Securities Act&#x201d;), this Registration Statement covers any additional shares of Class A common stock of Twilio Inc. (the &#x201c;Registrant&#x201d;) that become issuable under the Registrant&#x2019;s Amended and Restated 2016 Stock Option and Incentive Plan (&#x201c;2016 Plan&#x201d;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#x2019;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#x2019;s Class A common stock. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;&#x2007;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the 2016 Plan in accordance with the automatic annual increase provisions of the 2016 Plan. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;&#x2007;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</ffd:OfferingNote>
    <ffd:OfferingNote
      contextRef="P02_26_2025To02_26_2025_2TypedMemberffdOfferingAxis"
      id="ixv-206">
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;(2)&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;Pursuant to Rule 416(a) of the Securities Act, this Registration Statement covers any additional shares of Class A common stock of the Registrant that become issuable under the Registrant&#x2019;s Amended and Restated 2016 Employee Stock Purchase Plan (&#x201c;2016 ESPP&#x201d;) by reason of any stock dividend, stock split, recapitalization or other similar transaction effected without the Registrant&#x2019;s receipt of consideration which results in an increase in the number of the outstanding shares of the Registrant&#x2019;s Class A common stock. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;&#x2007;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;The amount registered represents an automatic increase on January 1, 2025 to the number of shares available for issuance under the Registrant&#x2019;s 2016 ESPP in accordance with the automatic annual increase provisions of the 2016 ESPP. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="font-size:6pt;margin-top:0pt;margin-bottom:0pt"&gt;&#160;&lt;/div&gt;
&lt;table cellpadding="0" cellspacing="0" style="text-align:start; BORDER-COLLAPSE:COLLAPSE; font-family:Times New Roman; font-size:9pt;border:0;width:100%"&gt;
&lt;tr style="page-break-inside:avoid"&gt;
&lt;td style="width:4%;vertical-align:top;text-align:left"&gt;&#x2007;&lt;/td&gt;
&lt;td style="vertical-align:top;text-align:left"&gt;&lt;div style="margin-top: 0pt; margin-bottom: 0pt; font-size: 9pt; font-family: &amp;quot;Times New Roman&amp;quot;; text-align: justify; line-height: normal;"&gt;The proposed maximum offering price per unit is estimated in accordance with Rule 457(c) and (h) of the Securities Act solely for the purpose of calculating the registration fee on the basis of 85% of the average of the high and low prices of Class A common stock, as reported on the New York Stock Exchange on February 21, 2025. Pursuant to the 2016 ESPP, the purchase price of the shares of Class A common stock reserved for issuance thereunder will be at least 85% of the lower of the fair market value of a share of Class A common stock on the first trading day of the offering period or on the exercise date. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
