<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5208088681305957591</id><updated>2026-09-21T13:56:38.104-04:00</updated><category term="Java"/><category term="PHP"/><category term="HTML"/><category term="Spring Boot"/><category term="Ajax"/><category term="JSP"/><category term="JavaScript"/><category term="jQuery"/><category term="WordPress"/><category term="Servlet"/><category term="Java OOPS"/><title type='text'>onlyxcodes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default?max-results=6&amp;redirect=false'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default?start-index=7&amp;max-results=6&amp;redirect=false'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>149</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>6</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-6188155672664920957</id><published>2024-09-30T01:13:00.002-04:00</published><updated>2024-09-30T01:14:54.776-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What is the use of body tag in HTML Code</title><content type='html'>&lt;!--wp:paragraph--&gt;
&lt;p&gt;In &lt;strong&gt;web development&lt;/strong&gt;, the HTML &amp;lt;body&amp;gt; tag holds a significant role in shaping the structure and content of any webpage. From text and images to hyperlinks and multimedia, everything visible to the user on a webpage is enclosed within the &amp;lt;body&amp;gt; tag. Properly using this tag is essential for creating structured, accessible, and search engine-friendly content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh804NxAzjPAn3ifGk0E26ok9RlxZYKM7LDtb4aPc3fPWqdbLfWpBmlfZhEupbsaYLzCVD2WD6QgmadJkOm21T_NltXMUtps17_93ZYyK-x6TiVehPb1h8ZC81N9TNgO7dnmW-m_93uQ1KX_mGmkCPhAxzWnWxZNTw9joJY2-gTNjRjotl9gvr_TnplH3Mt/s690/body-tag-in-html.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;what is the use of body tag in html code&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh804NxAzjPAn3ifGk0E26ok9RlxZYKM7LDtb4aPc3fPWqdbLfWpBmlfZhEupbsaYLzCVD2WD6QgmadJkOm21T_NltXMUtps17_93ZYyK-x6TiVehPb1h8ZC81N9TNgO7dnmW-m_93uQ1KX_mGmkCPhAxzWnWxZNTw9joJY2-gTNjRjotl9gvr_TnplH3Mt/s16000/body-tag-in-html.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;

&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;What is the &amp;lt;body&amp;gt; Tag?&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The tag is an essential element in HTML that defines the main content area of a webpage. Everything inside this tag is what will be displayed in the browser. Whether it&#39;s paragraphs, images, forms, or videos, the entire visible content of a webpage is nested within the tag.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The tag comes right after the tag, which contains metadata and instructions for the browser but does not directly influence what users see on the webpage. The closing tag marks the end of the visible content, ensuring that the browser understands where the displayed elements conclude.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Basic Structure of the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Sample Page&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to My Webpage&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is an example paragraph displayed within the body tag.&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In the above example, the section houses an h1 tag and a p tag, both of which are visible on the page. Everything between the opening and the closing tags will appear on the user’s screen.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;The Purpose of the &amp;lt;body&amp;gt; Tag in SEO&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;From an &lt;strong&gt;SEO (Search Engine Optimization)&lt;/strong&gt; perspective, the &amp;lt;body&amp;gt; tag plays a crucial role. Search engines crawl the content within this tag to understand the structure and relevance of the webpage. This is where the &lt;strong&gt;primary content&lt;/strong&gt; of a webpage is placed, and it can significantly impact how well your site ranks on search engine result pages (SERPs).&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Content Hierarchy within the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Within the &amp;lt;body&amp;gt; tag, it&#39;s essential to maintain a logical hierarchy of content, as search engines like &lt;strong&gt;Google&lt;/strong&gt; prioritize the readability and structure of a webpage. &lt;strong&gt;Header tags&lt;/strong&gt; (such as &amp;lt;h1&amp;gt;, &amp;lt;h2&amp;gt;, &amp;lt;h3&amp;gt;, etc.) and paragraphs are integral in defining this structure. The usage of headers helps both users and search engines understand the importance of content sections, thus improving your site’s search ranking.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;h1&amp;gt; Tag:&lt;/strong&gt; The primary heading of the page, ideally used only once. It should be descriptive and incorporate the &lt;strong&gt;main keyword&lt;/strong&gt; for your page.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;&lt;strong&gt;&amp;lt;h2&amp;gt; and &amp;lt;h3&amp;gt; Tags:&lt;/strong&gt; &lt;/strong&gt;These define subheadings and help break up the content into digestible chunks. Incorporating long-tail keywords within these subheadings can improve the relevancy of your page for search queries.&lt;span color=&quot;initial&quot;&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Best Practices for Structuring Content in the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;When structuring content inside the &amp;lt;body&amp;gt; tag, keep the following practices in mind to optimize for both user experience and search engines:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;1. Organize Content with Headings: &lt;/strong&gt;Use header tags to break up your content logically. Search engines favor well-organized content, as it enhances readability and user experience.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. Incorporate Relevant Keywords:&lt;/strong&gt; Naturally integrate relevant keywords throughout your body content. However, avoid keyword stuffing, as search engines penalize this practice.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Use Lists and Bullet Points:&lt;/strong&gt; To improve readability, especially for mobile users, incorporate lists (&amp;lt;ul&amp;gt;, &amp;lt;ol&amp;gt;) where appropriate. Search engines and users both appreciate content that is easy to scan.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;4. Multimedia Elements:&lt;/strong&gt; The &amp;lt;body&amp;gt; tag is not limited to text alone. Images, videos, and other media should be used to enhance the user experience. Make sure to add descriptive alt text for images, as it helps search engines understand the content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;5. Internal Linking:&lt;/strong&gt; Strategically place internal links within the body of your content to guide users to other relevant sections of your site. This can boost &lt;strong&gt;user engagement&lt;/strong&gt; and improve your site&#39;s &lt;strong&gt;crawlability&lt;/strong&gt;.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;HTML Tags Commonly Used Within the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Beyond the standard text and headings, several important tags are regularly used within the &amp;lt;body&amp;gt; tag to enhance content presentation:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;div&amp;gt; and &amp;lt;section&amp;gt;:&lt;/strong&gt; These elements allow you to structure your content into logical sections or divisions. It can help organize your page layout in a clean and accessible way.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;img&amp;gt;:&lt;/strong&gt; Used to display images. Adding proper alt attributes to images is critical for accessibility and SEO.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;a&amp;gt; (Anchor Tags):&lt;/strong&gt; These create hyperlinks. Internal and external links placed inside the body help direct users and &lt;strong&gt;search engine crawlers&lt;/strong&gt; to other valuable content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;form&amp;gt;:&lt;/strong&gt; This tag is essential for creating user input forms, such as contact or subscription forms, and it is also embedded inside the &amp;lt;body&amp;gt; section.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;footer&amp;gt; and &amp;lt;header&amp;gt;:&lt;/strong&gt; While these elements can be part of the entire page layout, they are also used inside the &amp;lt;body&amp;gt; tag to provide a consistent and user-friendly navigation experience.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Mobile Optimization Within the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;With &lt;strong&gt;mobile-first indexing&lt;/strong&gt; now a priority for Google, it&#39;s crucial to ensure that your content within the &amp;lt;body&amp;gt; tag is mobile-friendly. Responsive design principles should be applied, using CSS to adjust the layout for different screen sizes.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Tips for Mobile Optimization:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Use Responsive Design:&lt;/strong&gt; Ensure that all elements within the &amp;lt;body&amp;gt; tag, including text, images, and multimedia, adapt to various screen sizes.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Minimize Load Times:&lt;/strong&gt; Reduce the number of large media files and scripts that can slow down page loading. Optimizing images and videos within the &amp;lt;body&amp;gt; section can significantly improve the mobile experience.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Touch-Friendly Interactions:&lt;/strong&gt; Ensure that any buttons, links, or forms placed inside the &amp;lt;body&amp;gt; tag are easy to use on mobile devices. Make them large enough to tap and include adequate spacing between touch elements.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Common Mistakes to Avoid with the &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Despite its importance, many developers make mistakes when using the tag that can hinder both user experience and SEO efforts:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Forgetting to Close the Tag:&lt;/strong&gt; Always ensure that both the opening &amp;lt;body&amp;gt; and closing &amp;lt;/body&amp;gt; tags are present. Omitting them can cause rendering issues in browsers and affect SEO.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Poor Content Structure:&lt;/strong&gt; Placing content haphazardly within the &amp;lt;body&amp;gt; tag without proper use of headings, paragraphs, and sections can lead to a poor user experience and reduced rankings on search engines.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Neglecting Accessibility:&lt;/strong&gt; Failing to include proper alt text for images or misusing header tags, can create accessibility issues for users relying on screen readers.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &amp;lt;body&amp;gt; tag is the foundation of all visible content on a webpage, playing a key role in both &lt;strong&gt;user experience&lt;/strong&gt; and SEO performance. Proper use of this tag ensures that your content is well-structured, accessible, and optimized for search engines. By following best practices for organizing and presenting content within the &amp;lt;body&amp;gt; tag, you can significantly improve the chances of your webpage ranking higher on search engine results pages.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;


&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/6188155672664920957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/body-tag-in-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/6188155672664920957'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/6188155672664920957'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/body-tag-in-html.html' title='What is the use of body tag in HTML Code'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh804NxAzjPAn3ifGk0E26ok9RlxZYKM7LDtb4aPc3fPWqdbLfWpBmlfZhEupbsaYLzCVD2WD6QgmadJkOm21T_NltXMUtps17_93ZYyK-x6TiVehPb1h8ZC81N9TNgO7dnmW-m_93uQ1KX_mGmkCPhAxzWnWxZNTw9joJY2-gTNjRjotl9gvr_TnplH3Mt/s72-c/body-tag-in-html.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-6688724295128660148</id><published>2024-09-29T01:22:00.000-04:00</published><updated>2024-09-29T01:22:05.364-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What is an example of a title tag in html?</title><content type='html'>
&lt;!--wp:paragraph--&gt;
&lt;p&gt;A &lt;strong&gt;title tag&lt;/strong&gt; is an essential HTML element that defines the title of a webpage, appearing within the &amp;lt;head&amp;gt; section of an HTML document. It serves a critical role in search engine optimization (SEO) and user experience by briefly summarizing the content of a webpage. The title tag is visible in three main places:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;1. &lt;strong&gt;Search Engine Results Pages (SERPs):&lt;/strong&gt; The title tag is the clickable headline that appears in search results.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;2. &lt;strong&gt;Browser Tabs:&lt;/strong&gt; The title is displayed in the tab of a web browser when a webpage is open.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;3. &lt;strong&gt;Social Media Previews:&lt;/strong&gt; When you share a link, the title tag often shows as part of the preview.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Now, let’s explore the title tag in detail, including its structure, purpose, and example.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1MxRqBqmVU_Wb8K6umGc1vDjijJbMEJem6Phm9Q3oGroLJrAa5NqpHsEB7jXRYCjsJVhtu9tu8ggXxIiGv-ihDl9Bg7ngjLrrH_URT_StnuQFo1zVlZBbXGFjhw12fPTiQnbRRZ7uDymDx_ipO-I2rGemCJCLnpZNwWrpJZak5wmGGMCj40o1rJzMWuwG/s690/title-tag-in-html.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;example of a title tag in html&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1MxRqBqmVU_Wb8K6umGc1vDjijJbMEJem6Phm9Q3oGroLJrAa5NqpHsEB7jXRYCjsJVhtu9tu8ggXxIiGv-ihDl9Bg7ngjLrrH_URT_StnuQFo1zVlZBbXGFjhw12fPTiQnbRRZ7uDymDx_ipO-I2rGemCJCLnpZNwWrpJZak5wmGGMCj40o1rJzMWuwG/s16000/title-tag-in-html.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;


&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Structure of the Title Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The title tag is placed inside the &amp;lt;head&amp;gt; element in an HTML document. It looks like this:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example, the &lt;strong&gt;&amp;lt;title&amp;gt;Your Page Title&amp;lt;/title&amp;gt;&lt;/strong&gt; element defines what the title of the webpage will be.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Your Page Title&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;!-- Your content goes here --&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example of a Title Tag in HTML&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Let’s consider a more specific example of a webpage about a company’s &quot;About Us&quot; section:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Title tag:&lt;/strong&gt; &amp;lt;title&amp;gt;About Us - ABC Company&amp;lt;/title&amp;gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt; The title informs users and search engines that the page is an &quot;About Us&quot; page for a company named ABC Company.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;About Us - ABC Company&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to ABC Company&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;Learn more about who we are, our values, and our mission.&amp;lt;/p&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Purpose and Importance of the Title Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;&lt;strong&gt;1. SEO (Search Engine Optimization) Benefits:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;Search engines like Google use the title tag to understand the content of a webpage. A well-crafted title tag can improve the page’s ranking for relevant keywords.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A good title tag should include keywords that are important for your page. However, it should not be stuffed with too many keywords, as search engines may penalize such practices.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. User Experience:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;The title tag is the first interaction a user has with your webpage on a search engine result page. A descriptive, compelling title can increase the likelihood of a click-through.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;When users open multiple tabs, they rely on the title tag to identify which page they are on, especially when navigating back and forth between tabs.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Social Media Sharing:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;When shared on social media platforms like Facebook or Twitter, the title tag is often used as the default headline. It contributes to how users perceive the content of the link.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Best Practices for Creating Title Tags&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;To maximize the effectiveness of title tags, it’s essential to follow the best practices:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list {&quot;ordered&quot;:true}--&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Be Descriptive but Concise:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Title tags should be succinct, and generally recommended to be under &lt;strong&gt;60 characters&lt;/strong&gt;. If the title is too long, search engines may truncate it in the SERPs.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For example: Best Hiking Trails in California | Outdoor Adventures&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Include Target Keywords:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Keywords relevant to the content should be present in the title tag, ideally near the beginning.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For example SEO Best Practices for 2024 | Digital Marketing Guide&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Maintain Uniqueness for Each Page:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Each webpage should have a unique title tag that describes its specific content. Duplicate title tags can confuse search engines and may harm SEO rankings.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Use Branding Strategically:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;If you have a recognizable brand, consider including it at the end of the title tag for brand reinforcement. However, it should not overshadow the main focus of the title.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For example: Healthy Recipes for Beginners&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Impact of Title Tags on SEO and Click-Through Rate (CTR)&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Title tags play a significant role in a webpage’s performance in terms of SEO and user engagement. Here’s why:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list {&quot;ordered&quot;:true}--&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Search Rankings:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Search engines use title tags as part of their algorithm to determine how relevant your page is for a given search query. A well-optimized title can boost your rankings, while an irrelevant or poorly structured one can result in lower visibility.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Click-Through Rate (CTR):&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;A clear, enticing title can improve your CTR, as users are more likely to click on a result that accurately reflects what they’re searching for.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For instance, a title like &lt;strong&gt;&quot;10 Tips for Better Sleep - Improve Your Rest Today&quot;&lt;/strong&gt; is more likely to draw clicks than &lt;strong&gt;&quot;Sleep Tips&quot;&lt;/strong&gt;, because it&#39;s more specific and promises actionable advice.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Common Mistakes to Avoid&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Here are some common pitfalls when writing title tags:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list {&quot;ordered&quot;:true}--&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Overstuffing with Keywords:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Don’t fill your title with unnecessary or repetitive keywords. This is known as &quot;keyword stuffing&quot; and can hurt your SEO.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For example, avoid: Buy Shoes, Cheap Shoes, and Discount Shoes Online.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Generic Titles:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Avoid using generic titles like &lt;strong&gt;&quot;Home&quot;&lt;/strong&gt;, &lt;strong&gt;&quot;Products&quot;&lt;/strong&gt;, or &lt;strong&gt;&quot;Services&quot;&lt;/strong&gt; that don’t describe the specific content of the page.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Instead, be more descriptive: &lt;strong&gt;&quot;Home - Test Software Solutions | Innovative Tech&quot;&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Leaving Title Tags Empty:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Never leave the title tag blank or use a default tag like &lt;strong&gt;&quot;Untitled Document&quot;&lt;/strong&gt;. This significantly harms both SEO and user experience.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;!--/wp:list--&gt;


&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/6688724295128660148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/title-tag-in-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/6688724295128660148'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/6688724295128660148'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/title-tag-in-html.html' title='What is an example of a title tag in html?'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1MxRqBqmVU_Wb8K6umGc1vDjijJbMEJem6Phm9Q3oGroLJrAa5NqpHsEB7jXRYCjsJVhtu9tu8ggXxIiGv-ihDl9Bg7ngjLrrH_URT_StnuQFo1zVlZBbXGFjhw12fPTiQnbRRZ7uDymDx_ipO-I2rGemCJCLnpZNwWrpJZak5wmGGMCj40o1rJzMWuwG/s72-c/title-tag-in-html.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-7133239149211910790</id><published>2024-09-27T00:14:00.000-04:00</published><updated>2024-09-27T00:14:25.258-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What is the HTML Tag for Table Head?</title><content type='html'>&lt;!--wp:paragraph--&gt;
&lt;p&gt;When structuring data in HTML tables, the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag is pivotal in organizing table headers. Understanding how to use this tag correctly is essential for crafting web pages that are both accessible and easy to navigate. Let’s delve deep into the nuances of the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag, its proper usage, and how it fits into the larger HTML table structure.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuGI4SHxLv1OD_sQI07BslHJOs75XGsbpFqW-0XvSX1T8UqmnRAaJL3TbfE_rAC-qTmH0tNbySUc8kn24n7k3DwRO9AgcJ25def28K89nr-SS1SCaox9DGq067TGLTGW9PXfk9Ie0khgVk-m8S_F1dSlYOH8ndCNoHyZeVRl8O5N2BHGfcI-bLXuN5AqY/s690/html-tag-for-table-head.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;what is the html tag for table head&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuGI4SHxLv1OD_sQI07BslHJOs75XGsbpFqW-0XvSX1T8UqmnRAaJL3TbfE_rAC-qTmH0tNbySUc8kn24n7k3DwRO9AgcJ25def28K89nr-SS1SCaox9DGq067TGLTGW9PXfk9Ie0khgVk-m8S_F1dSlYOH8ndCNoHyZeVRl8O5N2BHGfcI-bLXuN5AqY/s16000/html-tag-for-table-head.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;

&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Understanding the &amp;lt;thead&amp;gt; Tag in HTML&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag is part of the table-related elements in HTML and is specifically used to group the header content in a table. It represents the table’s header section, containing one or more rows that define the labels or categories for the data presented in the table body (&lt;strong&gt;&amp;lt;tbody&amp;gt;&lt;/strong&gt;).&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Headers typically consist of the &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt; elements, which help to identify the meaning of the columns.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Key Characteristics of the &amp;lt;thead&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;&lt;strong&gt;Semantic Purpose:&lt;/strong&gt; The &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; element has a semantic purpose. It helps browsers and assistive technologies understand that the contents within this element are intended to label the data below.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Visual Clarity:&lt;/strong&gt; Structuring headers inside a &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; improves the table&#39;s clarity by clearly separating column names from the data cells.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; For screen readers and other assistive devices, using the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag ensures that headers are correctly interpreted, offering a more accessible experience for users with disabilities.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;The Structure of the HTML Table with &amp;lt;thead&amp;gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;A typical HTML table consists of several key elements:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;table&amp;gt;&lt;/strong&gt;: This tag defines the entire table.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt;: Contains the table headers.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;tbody&amp;gt;&lt;/strong&gt;: Encloses the table&#39;s body content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;tfoot&amp;gt;&lt;/strong&gt;: (Optional) Contains the footer rows.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Basic Table Structure with Example:&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;table&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th&amp;gt;Product&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;Stock&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;Apples&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;$2.50&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;Available&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;Oranges&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;$1.75&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;Out of Stock&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In the above example, the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; groups the header row, while the &lt;strong&gt;&amp;lt;tbody&amp;gt;&lt;/strong&gt; holds the data rows. Each table header (&lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt;) corresponds to a column, describing the data below.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Role of &amp;lt;tr&amp;gt; and &amp;lt;th&amp;gt; in &amp;lt;thead&amp;gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;tr&amp;gt;&lt;/strong&gt;: This tag defines a table row. In the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt;, it typically encloses one or more &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt; elements, which represent the header cells.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt;: The table header tag, &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt;, is used within the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; to designate the headings of columns.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag can contain multiple rows (&lt;strong&gt;&amp;lt;tr&amp;gt;&lt;/strong&gt;). For instance, if a table requires complex headers that span multiple levels, additional rows within &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; can be used.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example with Multi-Level Header:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example, we used &lt;strong&gt;rowspan&lt;/strong&gt; and &lt;strong&gt;colspan&lt;/strong&gt; attributes to create more complex table headers, showcasing the versatility of the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; element.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;table&amp;gt;
  &amp;lt;thead&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th rowspan=&quot;2&quot;&amp;gt;Product&amp;lt;/th&amp;gt;
      &amp;lt;th colspan=&quot;2&quot;&amp;gt;Details&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;th&amp;gt;Price&amp;lt;/th&amp;gt;
      &amp;lt;th&amp;gt;Stock&amp;lt;/th&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/thead&amp;gt;
  &amp;lt;tbody&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;Apples&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;$2.50&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;Available&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
    &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;Oranges&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;$1.75&amp;lt;/td&amp;gt;
      &amp;lt;td&amp;gt;Out of Stock&amp;lt;/td&amp;gt;
    &amp;lt;/tr&amp;gt;
  &amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Styling the &amp;lt;thead&amp;gt; Tag for Enhanced Readability&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;HTML alone won’t dictate how the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; appears visually. By using &lt;strong&gt;CSS&lt;/strong&gt;, we can style the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; to make it stand out from the rest of the table. It’s common to apply a distinct background color, bold fonts, or borders to the header section for better readability.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;CSS Example:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;This CSS example applies a light gray background to the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt;, makes the text bold, and adds a bottom border to each &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt; cell for a clear separation between the headers and data rows.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;thead {
  background-color: #f8f9fa;
  font-weight: bold;
}

th {
  border-bottom: 2px solid #dee2e6;
  padding: 8px;
}&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Best Practices for Using &amp;lt;thead&amp;gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;When using the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag in HTML tables, it&#39;s important to follow certain best practices to ensure your table is well-structured and accessible:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;1. Always Pair &amp;lt;thead&amp;gt; with &amp;lt;tbody&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;For a well-structured table, it&#39;s a best practice to use &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; in conjunction with &lt;strong&gt;&amp;lt;tbody&amp;gt;&lt;/strong&gt;. The &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; should contain the header information, while the &lt;strong&gt;&amp;lt;tbody&amp;gt;&lt;/strong&gt; contains the data.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. Use &amp;lt;th&amp;gt; for Header Cells&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Always place table headers inside &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt; tags. These tags provide the necessary context for both users and machines, such as search engines and screen readers, by identifying the content as a header.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Make Tables Responsive&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;HTML tables may not naturally adapt to smaller screen sizes. To improve usability on mobile devices, consider making your table responsive using CSS or JavaScript. A simple approach could involve hiding non-essential columns or using horizontal scrolling for the table.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;table {
  width: 100%;
  border-collapse: collapse;
}

table, th, td {
  border: 1px solid black;
}

thead {
  background-color: #f2f2f2;
}

@media screen and (max-width: 600px) {
  table, thead, tbody, th, td, tr {
    display: block;
  }
  
  th {
    background-color: #ccc;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;4. Ensure Accessibility with ARIA Attributes&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;To further enhance accessibility, consider adding ARIA (Accessible Rich Internet Applications) attributes. Using attributes like aria-label and aria-labeled can help assistive technologies provide additional context to users with disabilities.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;5. Use Semantic HTML and Avoid Overcomplication&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The goal of &lt;strong&gt;semantic HTML&lt;/strong&gt; is to enhance readability and maintainability. By using the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag in combination with &lt;strong&gt;&amp;lt;th&amp;gt;&lt;/strong&gt; for headers, your code will remain clean, organized, and easy to manage.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;SEO Benefits of Properly Structured Tables&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Using the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag properly in HTML tables can offer indirect benefits to SEO efforts. While search engines may not explicitly favor the &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag, its role in making content more organized, accessible, and user-friendly can improve user experience and engagement metrics like time spent on the page, which could influence rankings.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Additionally, accessible tables are indexed more effectively by search engines. When you structure data with &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt;, it helps both users and search engines understand the content of the table more clearly, making it easier to categorize and rank your page for relevant search terms.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &lt;strong&gt;&amp;lt;thead&amp;gt;&lt;/strong&gt; tag is an essential component of HTML tables, providing structure and clarity to header rows. It improves the organization of your data, enhances accessibility for users with disabilities, and ensures a more readable and maintainable codebase. By implementing &lt;strong&gt;best practices&lt;/strong&gt; for table header structures, you can ensure that your tables are not only visually appealing but also functional and accessible.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;


&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/7133239149211910790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/html-tag-for-table-head.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/7133239149211910790'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/7133239149211910790'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/html-tag-for-table-head.html' title='What is the HTML Tag for Table Head?'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnuGI4SHxLv1OD_sQI07BslHJOs75XGsbpFqW-0XvSX1T8UqmnRAaJL3TbfE_rAC-qTmH0tNbySUc8kn24n7k3DwRO9AgcJ25def28K89nr-SS1SCaox9DGq067TGLTGW9PXfk9Ie0khgVk-m8S_F1dSlYOH8ndCNoHyZeVRl8O5N2BHGfcI-bLXuN5AqY/s72-c/html-tag-for-table-head.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-364930277443750094</id><published>2024-09-26T00:02:00.000-04:00</published><updated>2024-09-26T00:02:02.877-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What is a DOCTYPE Tag in HTML?</title><content type='html'>&lt;!--wp:paragraph--&gt;
&lt;p&gt;In web development, understanding the significance of every HTML element is crucial. One of the most essential, yet often overlooked components is the &lt;strong&gt;DOCTYPE tag&lt;/strong&gt;. This tag is pivotal in ensuring your web pages render correctly across different browsers and devices. While the &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; may seem simple, its impact on how browsers interpret your HTML code is profound.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this article, we will explore the &lt;strong&gt;DOCTYPE tag&lt;/strong&gt;, its importance, how to implement it, and why adhering to standards is critical for the performance of your website.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwQcKmkiroRH54BEu5YowlyOpXTjZlo9vDuX2VnrGEBkZBt_lir1O9II74_fa49NHUehTRCnHWhv3aOrfXZquzTI8u8aWGlA25QjLN4sbxwkpc6-oKiWbBR0UH-9_vGSnN8XU6NEDPq4ZSjUqbxMC6QtogKSX4zXRJF6Qy0EyHQrsr0yYn2I6vD5ICnRuz/s690/doctype-tag-in-html.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;what is a doctype tag in html&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwQcKmkiroRH54BEu5YowlyOpXTjZlo9vDuX2VnrGEBkZBt_lir1O9II74_fa49NHUehTRCnHWhv3aOrfXZquzTI8u8aWGlA25QjLN4sbxwkpc6-oKiWbBR0UH-9_vGSnN8XU6NEDPq4ZSjUqbxMC6QtogKSX4zXRJF6Qy0EyHQrsr0yYn2I6vD5ICnRuz/s16000/doctype-tag-in-html.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;


&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;What is a DOCTYPE Tag?&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &lt;strong&gt;DOCTYPE&lt;/strong&gt; (short for Document Type Declaration) is an instruction to the web browser about what version of HTML the page is written in. This declaration must appear at the very top of every HTML document, before the &amp;lt;html&amp;gt; tag. It is not technically an HTML tag but rather an instruction that helps browsers interpret the document correctly.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; informs the browser of the standard or specification to follow when rendering the HTML document. If omitted or written incorrectly, browsers may switch to &quot;quirks mode,&quot; which can lead to unpredictable behavior in how your webpage displays.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Syntax of a DOCTYPE Declaration&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In modern web development, the &lt;strong&gt;DOCTYPE tag&lt;/strong&gt; used in HTML5 is simple:&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;This concise declaration is case-insensitive and applies to all HTML documents written using the HTML5 specification. Earlier versions of HTML, such as HTML 4.01, require more detailed &lt;strong&gt;DOCTYPE declarations&lt;/strong&gt;, specifying the type of document and the Document Type Definition (DTD).&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;For instance, in HTML 4.01 Transitional, the &lt;strong&gt;DOCTYPE&lt;/strong&gt; looks like this:&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;As you can see, older &lt;strong&gt;DOCTYPE declarations&lt;/strong&gt; were longer and more complicated, containing references to the DTD.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Purpose of the DOCTYPE Declaration&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The primary purpose of the &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; is to prevent browsers from switching into &lt;strong&gt;quirks mode&lt;/strong&gt;. In quirks mode, the browser mimics the behavior of older browsers to maintain compatibility with outdated websites. While quirks mode may seem helpful for legacy support, it can lead to inconsistent and non-standard rendering across different browsers.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Using the correct &lt;strong&gt;DOCTYPE&lt;/strong&gt; forces the browser to render the page in &lt;strong&gt;standards mode&lt;/strong&gt;. This ensures that the website behaves consistently across all modern browsers by adhering to the latest HTML specifications.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Quirks Mode vs. Standards Mode&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;As mentioned, browsers can operate in two modes: &lt;strong&gt;quirks mode&lt;/strong&gt; and &lt;strong&gt;standards mode&lt;/strong&gt;.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Quirks Mode&lt;/strong&gt;: In this mode, browsers emulate the behavior of older browsers from the early days of the web. This often means less consistent rendering across different browsers, leading to potential display issues. Quirks mode is triggered when a page lacks a &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; or has an incorrect &lt;strong&gt;DOCTYPE&lt;/strong&gt;.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Standards Mode&lt;/strong&gt;: Standards mode is triggered when the correct &lt;strong&gt;DOCTYPE tag&lt;/strong&gt; is used. In this mode, the browser renders the page according to modern web standards set by the &lt;strong&gt;W3C&lt;/strong&gt; (World Wide Web Consortium). This leads to more consistent rendering and behavior across all browsers.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Types of DOCTYPE Declarations&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;While HTML5 uses a simple &lt;strong&gt;DOCTYPE&lt;/strong&gt;, earlier versions of HTML have multiple types of &lt;strong&gt;DOCTYPE declarations&lt;/strong&gt;. These are:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;1. &lt;strong&gt;HTML 4.01 Strict&lt;/strong&gt;: This declaration enforces strict standards, where deprecated elements and attributes are not allowed.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;2. &lt;strong&gt;HTML 4.01 Transitional&lt;/strong&gt;: This is more lenient than strict mode, allowing the use of deprecated elements for backward compatibility.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;3. &lt;strong&gt;HTML 4.01 Frameset&lt;/strong&gt;: This is used when the document contains frames.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Frameset//EN&quot; &quot;http://www.w3.org/TR/html4/frameset.dtd&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;4. &lt;strong&gt;XHTML 1.0 Strict, Transitional, and Frameset&lt;/strong&gt;: These are similar to HTML 4.01 versions but used for XHTML documents, where stricter XML syntax rules apply.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Each of these &lt;strong&gt;DOCTYPEs&lt;/strong&gt; corresponds to a different level of strictness and compatibility, allowing developers to choose the right one for their needs.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Importance of the DOCTYPE Tag in Web Development&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Including the correct &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; in your HTML document is crucial for several reasons:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;1. Ensures Cross-Browser Compatibility&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Different browsers interpret and render HTML code in slightly different ways. However, by declaring the correct &lt;strong&gt;DOCTYPE&lt;/strong&gt;, developers can enforce consistent rendering across all modern browsers. This is especially important as it guarantees that users experience your website the same way, regardless of their browser choice.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. Facilitates Debugging and Testing&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Web development involves a great deal of testing to ensure that your website works flawlessly on various browsers and devices. Having the correct &lt;strong&gt;DOCTYPE&lt;/strong&gt; makes it easier to spot and fix bugs, as it forces the browser to use standards mode. In quirks mode, debugging becomes more challenging as inconsistent rendering may obscure the actual issues.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Boosts Website Performance&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;A well-optimized website not only ensures a better user experience but also ranks higher on search engines. By adhering to the correct standards, your website becomes more compatible with modern technologies such as responsive design, CSS3, and modern JavaScript libraries, all of which contribute to faster page load times and improved SEO.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;4. Enhances SEO Performance&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;While the &lt;strong&gt;DOCTYPE&lt;/strong&gt; itself is not a direct ranking factor for SEO, it does have an indirect impact. Websites that are rendered correctly without display issues tend to offer better user experiences, which contributes to lower bounce rates and higher engagement—both of which can boost your &lt;strong&gt;SEO rankings&lt;/strong&gt;.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;5. Prevents Quirks Mode&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;As mentioned earlier, quirks mode can cause unpredictable rendering. By using the proper &lt;strong&gt;DOCTYPE tag&lt;/strong&gt;, you prevent browsers from reverting to quirks mode, ensuring a consistent layout across platforms. This contributes to a more professional and reliable user interface.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;How to Add a DOCTYPE Declaration&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Implementing the &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; is straightforward. Place it at the very beginning of your HTML file, above the &amp;lt;html&amp;gt; tag. Here’s how it looks in an HTML5 document:&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
  &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
  &amp;lt;title&amp;gt;Sample Page&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;Welcome to Our Website&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;By including this simple line, you ensure that your HTML page follows the HTML5 standards.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &lt;strong&gt;DOCTYPE tag&lt;/strong&gt; may seem like a small detail in the grand scheme of web development, but its importance cannot be overstated. This declaration ensures that your website is rendered consistently across all browsers, contributing to better performance, easier debugging, and improved SEO results. Always make sure to include the correct &lt;strong&gt;DOCTYPE declaration&lt;/strong&gt; at the beginning of your HTML documents to avoid unnecessary rendering issues and to enhance your website&#39;s overall functionality.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;



&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/364930277443750094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/doctype-tag-in-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/364930277443750094'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/364930277443750094'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/doctype-tag-in-html.html' title='What is a DOCTYPE Tag in HTML?'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwQcKmkiroRH54BEu5YowlyOpXTjZlo9vDuX2VnrGEBkZBt_lir1O9II74_fa49NHUehTRCnHWhv3aOrfXZquzTI8u8aWGlA25QjLN4sbxwkpc6-oKiWbBR0UH-9_vGSnN8XU6NEDPq4ZSjUqbxMC6QtogKSX4zXRJF6Qy0EyHQrsr0yYn2I6vD5ICnRuz/s72-c/doctype-tag-in-html.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-4924743240847430145</id><published>2024-09-05T00:13:00.003-04:00</published><updated>2024-09-05T00:13:59.857-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What are the 3 main HTML tags?</title><content type='html'>&lt;!--wp:paragraph--&gt;
&lt;p&gt;HTML (HyperText Markup Language) is the backbone of web development, allowing developers to structure and display content on the internet. While HTML consists of numerous tags that serve different purposes, three of the most fundamental tags in any HTML document are:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;html&amp;gt; Tag&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;head&amp;gt; Tag&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;&amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;These tags form the essential structure of every HTML document and define how content is organized and displayed in a web browser. Let&#39;s dive into each tag in detail.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyciJSbGyPX8wxseMZ-Ppzons_4I7Nn0h2F8IlTTnnDszMPCoHoj26EpKgvj2lnKPUR_Ci1gBnaBcdOfzPwmxk0Sf1cNvRphQGI_aF8V4i5WdDmoU13k42iaIdbEI4TS5CVp5ZVpSHlP3VQ5L2kh1PMZBljrAQok9BwpVXF9yhkfxDK594dkmtUWQP-hEr/s690/three-main-html-tags.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;what are the 3 main html tags&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyciJSbGyPX8wxseMZ-Ppzons_4I7Nn0h2F8IlTTnnDszMPCoHoj26EpKgvj2lnKPUR_Ci1gBnaBcdOfzPwmxk0Sf1cNvRphQGI_aF8V4i5WdDmoU13k42iaIdbEI4TS5CVp5ZVpSHlP3VQ5L2kh1PMZBljrAQok9BwpVXF9yhkfxDK594dkmtUWQP-hEr/s16000/three-main-html-tags.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;


&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;1. &amp;lt;html&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &amp;lt;html&amp;gt; tag represents the root element of an HTML document. It encloses the entire document, telling the browser that its content is HTML code. Everything between the opening &amp;lt;html&amp;gt; and closing &amp;lt;/html&amp;gt; tags is part of the webpage, including the &amp;lt;head&amp;gt; and &amp;lt;body&amp;gt; sections.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;html&amp;gt;
  &amp;lt;!-- The entire HTML content goes here --&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;Acts as a container for all HTML elements.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It helps browsers interpret the document as an HTML file.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;May include attributes like lang to specify the language of the page (e.g., lang=&quot;en&quot; for English).&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;My Web Page&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Welcome to My Website&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is a paragraph of text.&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;2. &amp;lt;head&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &amp;lt;head&amp;gt; tag contains metadata and links to external resources, such as stylesheets, scripts, and the document’s title. The content inside the &amp;lt;head&amp;gt; tag is not displayed on the webpage itself but provides information that can be crucial for how the page is processed and displayed by browsers.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;head&amp;gt;
  &amp;lt;!-- Metadata and links go here --&amp;gt;
&amp;lt;/head&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;Includes the document&#39;s title (shown in the browser tab).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Links external resources like CSS files or JavaScript.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Provides metadata about the webpage, such as author information and description.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improves SEO (Search Engine Optimization) by providing search&lt;/li&gt;&lt;br /&gt;&lt;li&gt;engines with keywords and descriptions.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Common Elements Inside &amp;lt;head&amp;gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;title&amp;gt;:&lt;/strong&gt; Defines the title of the document.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;meta&amp;gt;:&lt;/strong&gt; Used for metadata like character encoding, description, and keywords.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;link&amp;gt;:&lt;/strong&gt; Links to external resources, such as CSS files.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;&amp;lt;script&amp;gt;:&lt;/strong&gt; Includes or references JavaScript code.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example, I have used the title &quot;About Me,&quot; which will appear on the browser tab. The page will use UTF-8 character encoding and reference&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;About Me&amp;lt;/title&amp;gt;
  &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
  &amp;lt;meta name=&quot;description&quot; content=&quot;Personal blog and portfolio&quot;&amp;gt;
  &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;styles.css&quot;&amp;gt;
&amp;lt;/head&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;3. &amp;lt;body&amp;gt; Tag&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &amp;lt;body&amp;gt; tag contains all the visible content of the webpage. Everything displayed to the user, such as text, images, buttons, and other multimedia elements, is placed inside the &amp;lt;body&amp;gt; tag. Essentially, this is where you structure the main content of your webpage.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;body&amp;gt;
  &amp;lt;!-- Visible content goes here --&amp;gt;
&amp;lt;/body&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Purpose:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;Defines the part of the document that is displayed to the user.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Holds structural elements like headings, paragraphs, lists, images, tables, forms, etc.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It can include multimedia elements like audio, video, and interactive content.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example, the user will see a heading (&quot;Welcome to My Blog&quot;), a paragraph, and an image on the webpage.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;Welcome to My Blog&amp;lt;/h1&amp;gt;
  &amp;lt;p&amp;gt;This is the first post on my blog. Stay tuned for more content!&amp;lt;/p&amp;gt;
  &amp;lt;img src=&quot;image.jpg&quot; alt=&quot;A beautiful landscape&quot;&amp;gt;
&amp;lt;/body&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Putting It All Together&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;When writing an HTML document, the three main tags &amp;lt;html&amp;gt;, &amp;lt;head&amp;gt;, and &amp;lt;body&amp;gt; work together to structure your webpage. Here&#39;s an example that shows how all three tags are combined to form a basic HTML document:&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Complete Example:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot;&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;
    &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
    &amp;lt;title&amp;gt;Simple Webpage&amp;lt;/title&amp;gt;
    &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;styles.css&quot;&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;Hello, World!&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is a simple HTML page structure.&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Explanation:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;: Declares the document type and version (HTML5).&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&amp;lt;html&amp;gt;: Encloses the entire HTML document.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&amp;lt;head&amp;gt;: Includes metadata and external resource links.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&amp;lt;body&amp;gt;: Contains visible content, such as headings, paragraphs, and images.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Understanding the three main HTML tags &amp;lt;html&amp;gt;, &amp;lt;head&amp;gt;, and &amp;lt;body&amp;gt; is crucial for building a proper HTML structure. These tags form the foundation of any webpage and ensure that the content is organized, accessible, and ready for styling and scripting.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Read Also&lt;/strong&gt;:&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/insert-background-image-in-html.html&quot; target=&quot;_blank&quot;&gt;How to Insert Background Image in HTML from Local Folder&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/difference-between-p-and-pre-in-html.html&quot; target=&quot;_blank&quot;&gt;What is the difference between P and pre in HTML?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/form-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;What is form tag in HTML with Example?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/set-value-in-span-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;How to set value in span tag in HTML&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/hr-and-br-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;What is the HR and BR tag in HTML?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;


&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/4924743240847430145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/three-main-html-tags.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/4924743240847430145'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/4924743240847430145'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/three-main-html-tags.html' title='What are the 3 main HTML tags?'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyciJSbGyPX8wxseMZ-Ppzons_4I7Nn0h2F8IlTTnnDszMPCoHoj26EpKgvj2lnKPUR_Ci1gBnaBcdOfzPwmxk0Sf1cNvRphQGI_aF8V4i5WdDmoU13k42iaIdbEI4TS5CVp5ZVpSHlP3VQ5L2kh1PMZBljrAQok9BwpVXF9yhkfxDK594dkmtUWQP-hEr/s72-c/three-main-html-tags.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5208088681305957591.post-7185092061811558319</id><published>2024-09-02T00:13:00.000-04:00</published><updated>2024-09-02T00:13:12.472-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><title type='text'>What is the difference between input type text and textarea?</title><content type='html'>&lt;!--wp:paragraph--&gt;
&lt;p&gt;When developing web forms, choosing the right HTML element is crucial for ensuring optimal user experience and accurate data collection. Two of the most commonly used HTML elements for text input are &amp;lt;input type=&quot;text&quot;&amp;gt; and &amp;lt;textarea&amp;gt;.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Even though they both aim to capture text from users, they differ in their features and are made for various use cases.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this article, we will explore the key differences between these two elements, highlighting their unique features, ideal use cases, and the impact they have on the design and functionality of web forms.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwvx9l_nCKED5AxfKIjTBGp4WL89u3Jbd5Ryd-qinrs74loq1hv-lK_x1J-FjzpN4Q0Wt-ZqWArfC03qAiDY5d3vtVN5LVF8U0-b72D1eeNlBjzQDjPPv5vJB9ufUI4Vdj3prna690kG0CNdn-4JSmVbA4FpJ4_FNO1XQnNER4a5JFu8HRB75J3xNT4HiX/s690/difference-between-input-type-text-textarea.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;difference between input type text and textarea&quot; border=&quot;0&quot; data-original-height=&quot;455&quot; data-original-width=&quot;690&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwvx9l_nCKED5AxfKIjTBGp4WL89u3Jbd5Ryd-qinrs74loq1hv-lK_x1J-FjzpN4Q0Wt-ZqWArfC03qAiDY5d3vtVN5LVF8U0-b72D1eeNlBjzQDjPPv5vJB9ufUI4Vdj3prna690kG0CNdn-4JSmVbA4FpJ4_FNO1XQnNER4a5JFu8HRB75J3xNT4HiX/s16000/difference-between-input-type-text-textarea.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;!--/wp:paragraph--&gt;

&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;What is &amp;lt;input type=&quot;text&quot;&amp;gt;?&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;The &amp;lt;input type=&quot;text&quot;&amp;gt; element is a versatile and commonly used HTML element that allows users to enter a single line of text. This element is typically employed in forms where a short response is expected, such as entering a name, email address, or password.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;It is a self-closing tag, meaning it does not have an end tag, and its content is defined by the value attribute.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;input type=&quot;text&quot; name=&quot;username&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;What is &amp;lt;textarea&amp;gt;?&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;On the other hand, the &amp;lt;textarea&amp;gt; element is specifically designed for multi-line text input. This element is ideal for scenarios where a longer response is required, such as a user bio, comments, or detailed feedback.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Unlike &amp;lt;input type=&quot;text&quot;&amp;gt;, &amp;lt;textarea&amp;gt; is not a self-closing tag; it requires both an opening and a closing tag, and the text entered by the user is placed between these tags.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;textarea name=&quot;address&quot;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Key Differences Between &amp;lt;input type=&quot;text&quot;&amp;gt; and &amp;lt;textarea&amp;gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;&lt;strong&gt;1. Structure and Syntax&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The most apparent difference between &amp;lt;input type=&quot;text&quot;&amp;gt; and &amp;lt;textarea&amp;gt; is their structure and syntax. The &amp;lt;input type=&quot;text&quot;&amp;gt; element is a self-contained, self-closing tag, which makes it simple to implement for single-line inputs.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In contrast, the &amp;lt;textarea&amp;gt; element requires both an opening and closing tag, and its structure inherently supports multi-line input.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example of &amp;lt;input type=&quot;text&quot;&amp;gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;input type=&quot;text&quot; name=&quot;firstname&quot;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example of &amp;lt;textarea&amp;gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;textarea name=&quot;comments&quot;&amp;gt;Enter your comment here...&amp;lt;/textarea&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. Display and Appearance&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The display behavior of these elements also sets them apart. The &amp;lt;input type=&quot;text&quot;&amp;gt; element typically renders as a single-line text box, with the length determined by the size attribute or CSS styling. It is ideal for inputs where only a brief response is needed. By default, the &amp;lt;input type=&quot;text&quot;&amp;gt; box is small, but it can be customized using CSS to alter its width.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The &amp;lt;textarea&amp;gt; element, however, is displayed as a larger, multi-line text box. It offers more flexibility in terms of input space, as users can type multiple lines of text without restriction. The size of a &amp;lt;textarea&amp;gt; can be controlled using the rows and cols attributes, as well as CSS for more advanced styling.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In this example, I used the &lt;strong&gt;rows&lt;/strong&gt; attribute to determine the number of visible text lines, while the &lt;strong&gt;cols&lt;/strong&gt; attribute controls the width of the text box.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;&amp;lt;textarea name=&quot;feedback&quot; rows=&quot;4&quot; cols=&quot;50&quot;&amp;gt;&amp;lt;/textarea&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Functionality and Behavior&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;When it comes to functionality, &amp;lt;input type=&quot;text&quot;&amp;gt; is best suited for short, single-line inputs. It automatically limits the user to one line of text, making it perfect for fields such as usernames, passwords, or search queries.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The &amp;lt;textarea&amp;gt; element, conversely, is built for more extensive text entry. It allows for unlimited lines of text, making it the go-to choice for input fields where users need to provide detailed information. Additionally, the &amp;lt;textarea&amp;gt; element supports features like word wrapping, which ensures that long lines of text are wrapped within the box instead of extending beyond its bounds.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;4. Accessibility Considerations&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;From an accessibility perspective, both elements can be used effectively, but they serve different purposes. The &amp;lt;input type=&quot;text&quot;&amp;gt; element is straightforward and accessible to screen readers, which will read out the label and the type of input required.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;However, for multi-line inputs, screen readers often expect and better handle a &amp;lt;textarea&amp;gt; element due to its ability to contain more complex, descriptive content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;5. Customization and Styling&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Both elements can be customized extensively using CSS, but they offer different levels of flexibility. The &amp;lt;input type=&quot;text&quot;&amp;gt; element can be easily styled to fit into a variety of form designs, but it is somewhat limited by its single-line nature.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;The &amp;lt;textarea&amp;gt; element offers more possibilities for customization, including adjustable height, width, and scrollbars. This flexibility makes it an excellent choice for more complex forms that require enhanced user interaction.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;When to Use &amp;lt;input type=&quot;text&quot;&amp;gt; vs. &amp;lt;textarea&amp;gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;&lt;strong&gt;Use Cases for &amp;lt;input type=&quot;text&quot;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Single-Line Inputs:&lt;/strong&gt; Ideal for inputs that require a single line of text, such as first names, last names, email addresses, or search bars.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Short Responses:&lt;/strong&gt; When you anticipate a brief answer, such as in a form field for a coupon code or a simple query.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Minimalist Design: &lt;/strong&gt;If you want to maintain a clean, simple form layout, &amp;lt;input type=&quot;text&quot;&amp;gt; is preferable due to its compact appearance.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Use Cases for &amp;lt;textarea&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:list--&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Multi-Line Inputs:&lt;/strong&gt; Essential for inputs where users need to provide more than one line of text, such as comments, feedback forms, or detailed descriptions.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Detailed Information:&lt;/strong&gt; Best used in scenarios where users are expected to give a comprehensive response, such as a personal biography, a cover letter, or an article submission.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Rich Text Input: &lt;/strong&gt;Although basic in its default form, &amp;lt;textarea&amp;gt; can be extended with JavaScript to support rich text editing, making it suitable for content management systems or blog comment sections.&lt;/li&gt;&lt;/ul&gt;
&lt;!--/wp:list--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Advanced Features and Considerations&lt;/strong&gt;&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;&lt;strong&gt;1. Placeholders and Default Text&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;Both &amp;lt;input type=&quot;text&quot;&amp;gt; and &amp;lt;textarea&amp;gt; support the use of placeholder text, which provides users with a hint about what should be entered in the field.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;However, while the placeholder attribute works similarly in both elements, &amp;lt;textarea&amp;gt; also allows for default text between the tags, which can be particularly useful for pre-filling content.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;2. Character Limits&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;While both elements allow you to set character limits, the approach differs slightly. For &amp;lt;input type=&quot;text&quot;&amp;gt;, you can use the maxlength attribute to limit the number of characters a user can input. This is often used in fields like usernames or passwords, where length constraints are common.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;For &amp;lt;textarea&amp;gt;, the maxlength attribute can also be applied, but it’s less common since this element is typically used for more extended input. Instead, developers may implement character counters using JavaScript to guide users in fields with character restrictions, such as tweet-length comments.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;3. Resizable Text Areas&lt;/strong&gt;&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;One of the unique features of the &amp;lt;textarea&amp;gt; element is its resizable nature.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;In most modern browsers, users can drag the corner of a &amp;lt;textarea&amp;gt; box to resize it, which can be particularly useful when users need more space to type. This behavior can be controlled or disabled using CSS for a more tailored user experience.&lt;/p&gt;
&lt;br /&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:code--&gt;
&lt;pre class=&quot;line-numbers language-markup&quot;&gt;&lt;code class=&quot;language-markup&quot;&gt;textarea {
  resize: none;
}&lt;/code&gt;&lt;/pre&gt;
&lt;!--/wp:code--&gt;

&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;:&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:paragraph--&gt;
&lt;p&gt;Choosing between &amp;lt;input type=&quot;text&quot;&amp;gt; and &amp;lt;textarea&amp;gt; depends on the nature of the input required. While both elements are fundamental to web forms, their distinct features make them suitable for different tasks. The &amp;lt;input type=&quot;text&quot;&amp;gt; element is perfect for concise, single-line text input, making it ideal for fields like names, passwords, or search boxes.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;On the other hand, the &amp;lt;textarea&amp;gt; element excels in handling multi-line text, making it the go-to choice for detailed responses, comments, or any situation where users need more space to express themselves.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;

&lt;!--wp:paragraph--&gt;
&lt;br /&gt;
&lt;p&gt;By understanding the differences between these two HTML elements, web developers can create more intuitive and user-friendly forms, ultimately enhancing the overall user experience.&lt;/p&gt;
&lt;!--/wp:paragraph--&gt;


&lt;!--wp:heading--&gt;
&lt;br /&gt;
&lt;h2&gt;&lt;strong&gt;Read Also&lt;/strong&gt;:&lt;/h2&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/insert-background-image-in-html.html&quot; target=&quot;_blank&quot;&gt;How to Insert Background Image in HTML from Local Folder&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/difference-between-p-and-pre-in-html.html&quot; target=&quot;_blank&quot;&gt;What is the difference between P and pre in HTML?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/form-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;What is form tag in HTML with Example?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/set-value-in-span-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;How to set value in span tag in HTML&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;

&lt;!--wp:heading {&quot;level&quot;:3}--&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.onlyxcodes.com/2024/08/hr-and-br-tag-in-html.html&quot; target=&quot;_blank&quot;&gt;What is the HR and BR tag in HTML?&lt;/a&gt;&lt;/h3&gt;
&lt;!--/wp:heading--&gt;


&lt;!--- prism css &amp; js start ---&gt;

&lt;style type=&quot;text/css&quot;&gt;

code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	color: #ccc;
	background: none;
	font-family: Consolas, Monaco, &#39;Andale Mono&#39;, &#39;Ubuntu Mono&#39;, monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;

}

/* Code blocks */
pre[class*=&quot;language-&quot;] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) &gt; code[class*=&quot;language-&quot;],
pre[class*=&quot;language-&quot;] {
	background: #2d2d2d;
}

/* Inline code */
:not(pre) &gt; code[class*=&quot;language-&quot;] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #999;
}

.token.punctuation {
	color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
	color: #e2777a;
}

.token.function-name {
	color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
	color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
	color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
	color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
	color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
	color: #67cdcc;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}

.token.inserted {
	color: green;
}

pre[class*=&quot;language-&quot;].line-numbers {
	position: relative;
	padding-left: 3.8em;
	counter-reset: linenumber;
}

pre[class*=&quot;language-&quot;].line-numbers &gt; code {
	position: relative;
	white-space: inherit;
}

.line-numbers .line-numbers-rows {
	position: absolute;
	pointer-events: none;
	top: 0;
	font-size: 100%;
	left: -3.8em;
	width: 3em; /* works for line-numbers below 1000 lines */
	letter-spacing: -1px;
	border-right: 1px solid #999;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

}

	.line-numbers-rows &gt; span {
		display: block;
		counter-increment: linenumber;
	}

		.line-numbers-rows &gt; span:before {
			content: counter(linenumber);
			color: #999;
			display: block;
			padding-right: 0.8em;
			text-align: right;
		}

div.code-toolbar {
	position: relative;
}

div.code-toolbar &gt; .toolbar {
	position: absolute;
	top: .3em;
	right: .2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover &gt; .toolbar {
	opacity: 1;
}

/* Separate line b/c rules are thrown out if selector is invalid.
   IE11 and old Edge versions don&#39;t support :focus-within. */
div.code-toolbar:focus-within &gt; .toolbar {
	opacity: 1;
}

div.code-toolbar &gt; .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar &gt; .toolbar a {
	cursor: pointer;
}

div.code-toolbar &gt; .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	-webkit-user-select: none; /* for button */
	-moz-user-select: none;
	-ms-user-select: none;
}

div.code-toolbar &gt; .toolbar a,
div.code-toolbar &gt; .toolbar button,
div.code-toolbar &gt; .toolbar span {
	color: #bbb;
	font-size: .8em;
	padding: 0 .5em;
	background: #f5f2f0;
	background: rgba(224, 224, 224, 0.2);
	box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);
	border-radius: .5em;
}

div.code-toolbar &gt; .toolbar a:hover,
div.code-toolbar &gt; .toolbar a:focus,
div.code-toolbar &gt; .toolbar button:hover,
div.code-toolbar &gt; .toolbar button:focus,
div.code-toolbar &gt; .toolbar span:hover,
div.code-toolbar &gt; .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

/* my custom css start because prism css override*/
pre.line-numbers.language-markup:before
{
 display : none;
}
/* my custom css end because prism css override*/

&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism-tomorrow&amp;languages=markup+css+clike+javascript+c+cpp+java+kotlin+markup-templating+mongodb+php+plsql+python+jsx+tsx+ruby+sql+typescript&amp;plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard */
var _self=&quot;undefined&quot;!=typeof window?window:&quot;undefined&quot;!=typeof WorkerGlobalScope&amp;&amp;self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&amp;&amp;u.Prism.manual,disableWorkerMessageHandler:u.Prism&amp;&amp;u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&amp;/g,&quot;&amp;amp;&quot;).replace(/&lt;/g,&quot;&amp;lt;&quot;).replace(/\u00a0/g,&quot; &quot;)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,&quot;__id&quot;,{value:++n}),e.__id},clone:function r(e,t){var a,n;switch(t=t||{},M.util.type(e)){case&quot;Object&quot;:if(n=M.util.objId(e),t[n])return t[n];for(var i in a={},t[n]=a,e)e.hasOwnProperty(i)&amp;&amp;(a[i]=r(e[i],t));return a;case&quot;Array&quot;:return n=M.util.objId(e),t[n]?t[n]:(a=[],t[n]=a,e.forEach(function(e,n){a[n]=r(e,t)}),a);default:return e}},getLanguage:function(e){for(;e&amp;&amp;!c.test(e.className);)e=e.parentElement;return e?(e.className.match(c)||[,&quot;none&quot;])[1].toLowerCase():&quot;none&quot;},currentScript:function(){if(&quot;undefined&quot;==typeof document)return null;if(&quot;currentScript&quot;in document)return document.currentScript;try{throw new Error}catch(e){var n=(/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack)||[])[1];if(n){var r=document.getElementsByTagName(&quot;script&quot;);for(var t in r)if(r[t].src==n)return r[t]}return null}},isActive:function(e,n,r){for(var t=&quot;no-&quot;+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(t))return!1;e=e.parentElement}return!!r}},languages:{extend:function(e,n){var r=M.util.clone(M.languages[e]);for(var t in n)r[t]=n[t];return r},insertBefore:function(r,e,n,t){var a=(t=t||M.languages)[r],i={};for(var l in a)if(a.hasOwnProperty(l)){if(l==e)for(var o in n)n.hasOwnProperty(o)&amp;&amp;(i[o]=n[o]);n.hasOwnProperty(l)||(i[l]=a[l])}var s=t[r];return t[r]=i,M.languages.DFS(M.languages,function(e,n){n===s&amp;&amp;e!=r&amp;&amp;(this[e]=i)}),i},DFS:function e(n,r,t,a){a=a||{};var i=M.util.objId;for(var l in n)if(n.hasOwnProperty(l)){r.call(n,l,n[l],t||l);var o=n[l],s=M.util.type(o);&quot;Object&quot;!==s||a[i(o)]?&quot;Array&quot;!==s||a[i(o)]||(a[i(o)]=!0,e(o,r,l,a)):(a[i(o)]=!0,e(o,r,null,a))}}},plugins:{},highlightAll:function(e,n){M.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,r){var t={callback:r,container:e,selector:&#39;code[class*=&quot;language-&quot;], [class*=&quot;language-&quot;] code, code[class*=&quot;lang-&quot;], [class*=&quot;lang-&quot;] code&#39;};M.hooks.run(&quot;before-highlightall&quot;,t),t.elements=Array.prototype.slice.apply(t.container.querySelectorAll(t.selector)),M.hooks.run(&quot;before-all-elements-highlight&quot;,t);for(var a,i=0;a=t.elements[i++];)M.highlightElement(a,!0===n,t.callback)},highlightElement:function(e,n,r){var t=M.util.getLanguage(e),a=M.languages[t];e.className=e.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t;var i=e.parentElement;i&amp;&amp;&quot;pre&quot;===i.nodeName.toLowerCase()&amp;&amp;(i.className=i.className.replace(c,&quot;&quot;).replace(/\s+/g,&quot; &quot;)+&quot; language-&quot;+t);var l={element:e,language:t,grammar:a,code:e.textContent};function o(e){l.highlightedCode=e,M.hooks.run(&quot;before-insert&quot;,l),l.element.innerHTML=l.highlightedCode,M.hooks.run(&quot;after-highlight&quot;,l),M.hooks.run(&quot;complete&quot;,l),r&amp;&amp;r.call(l.element)}if(M.hooks.run(&quot;before-sanity-check&quot;,l),!l.code)return M.hooks.run(&quot;complete&quot;,l),void(r&amp;&amp;r.call(l.element));if(M.hooks.run(&quot;before-highlight&quot;,l),l.grammar)if(n&amp;&amp;u.Worker){var s=new Worker(M.filename);s.onmessage=function(e){o(e.data)},s.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else o(M.highlight(l.code,l.grammar,l.language));else o(M.util.encode(l.code))},highlight:function(e,n,r){var t={code:e,grammar:n,language:r};return M.hooks.run(&quot;before-tokenize&quot;,t),t.tokens=M.tokenize(t.code,t.grammar),M.hooks.run(&quot;after-tokenize&quot;,t),W.stringify(M.util.encode(t.tokens),t.language)},tokenize:function(e,n){var r=n.rest;if(r){for(var t in r)n[t]=r[t];delete n.rest}var a=new i;return I(a,a.head,e),function e(n,r,t,a,i,l){for(var o in t)if(t.hasOwnProperty(o)&amp;&amp;t[o]){var s=t[o];s=Array.isArray(s)?s:[s];for(var u=0;u&lt;s.length;++u){if(l&amp;&amp;l.cause==o+&quot;,&quot;+u)return;var c=s[u],g=c.inside,f=!!c.lookbehind,h=!!c.greedy,d=c.alias;if(h&amp;&amp;!c.pattern.global){var v=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,v+&quot;g&quot;)}for(var p=c.pattern||c,m=a.next,y=i;m!==r.tail&amp;&amp;!(l&amp;&amp;y&gt;=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length&gt;n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P&lt;=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&amp;&amp;(P&lt;A||&quot;string&quot;==typeof S.value);S=S.next)x++,P+=S.value.length;x--,k=n.slice(y,P),b.index-=y}else if(!(b=z(p,0,k,f)))continue;var w=b.index,E=b[0],O=k.slice(0,w),L=k.slice(w+E.length),N=y+k.length;l&amp;&amp;N&gt;l.reach&amp;&amp;(l.reach=N);var j=m.prev;O&amp;&amp;(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&amp;&amp;I(r,m,L),1&lt;x){var _={cause:o+&quot;,&quot;+u,reach:N};e(n,r,t,m.prev,y,_),l&amp;&amp;_.reach&gt;l.reach&amp;&amp;(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&amp;&amp;r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||&quot;&quot;).length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&amp;&amp;t&amp;&amp;a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a&lt;r&amp;&amp;t!==e.tail;a++)t=t.next;(n.next=t).prev=n,e.length-=a}if(u.Prism=M,W.stringify=function n(e,r){if(&quot;string&quot;==typeof e)return e;if(Array.isArray(e)){var t=&quot;&quot;;return e.forEach(function(e){t+=n(e,r)}),t}var a={type:e.type,content:n(e.content,r),tag:&quot;span&quot;,classes:[&quot;token&quot;,e.type],attributes:{},language:r},i=e.alias;i&amp;&amp;(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),M.hooks.run(&quot;wrap&quot;,a);var l=&quot;&quot;;for(var o in a.attributes)l+=&quot; &quot;+o+&#39;=&quot;&#39;+(a.attributes[o]||&quot;&quot;).replace(/&quot;/g,&quot;&amp;quot;&quot;)+&#39;&quot;&#39;;return&quot;&lt;&quot;+a.tag+&#39; class=&quot;&#39;+a.classes.join(&quot; &quot;)+&#39;&quot;&#39;+l+&quot;&gt;&quot;+a.content+&quot;&lt;/&quot;+a.tag+&quot;&gt;&quot;},!u.document)return u.addEventListener&amp;&amp;(M.disableWorkerMessageHandler||u.addEventListener(&quot;message&quot;,function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&amp;&amp;u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&amp;&amp;(M.filename=e.src,e.hasAttribute(&quot;data-manual&quot;)&amp;&amp;(M.manual=!0)),!M.manual){var t=document.readyState;&quot;loading&quot;===t||&quot;interactive&quot;===t&amp;&amp;e&amp;&amp;e.defer?document.addEventListener(&quot;DOMContentLoaded&quot;,r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);&quot;undefined&quot;!=typeof module&amp;&amp;module.exports&amp;&amp;(module.exports=Prism),&quot;undefined&quot;!=typeof global&amp;&amp;(global.Prism=Prism);
Prism.languages.markup={comment:/&lt;!--[\s\S]*?--&gt;/,prolog:/&lt;\?[\s\S]+?\?&gt;/,doctype:{pattern:/&lt;!DOCTYPE(?:[^&gt;&quot;&#39;[\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)+(?:\[(?:[^&lt;&quot;&#39;\]]|&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|&lt;(?!!--)|&lt;!--(?:[^-]|-(?!-&gt;))*--&gt;)*\]\s*)?&gt;/i,greedy:!0,inside:{&quot;internal-subset&quot;:{pattern:/(\[)[\s\S]+(?=\]&gt;$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;/,greedy:!0},punctuation:/^&lt;!|&gt;$|[[\]]/,&quot;doctype-tag&quot;:/^DOCTYPE/,name:/[^\s&lt;&gt;&#39;&quot;]+/}},cdata:/&lt;!\[CDATA\[[\s\S]*?]]&gt;/i,tag:{pattern:/&lt;\/?(?!\d)[^\s&gt;\/=$&lt;%]+(?:\s(?:\s*[^\s&gt;\/=]+(?:\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+(?=[\s&gt;]))|(?=[\s/&gt;])))+)?\s*\/?&gt;/,greedy:!0,inside:{tag:{pattern:/^&lt;\/?[^\s&gt;\/]+/,inside:{punctuation:/^&lt;\/?/,namespace:/^[^\s&gt;\/:]+:/}},&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},punctuation:/\/?&gt;/,&quot;attr-name&quot;:{pattern:/[^\s&gt;\/]+/,inside:{namespace:/^[^\s&gt;\/:]+:/}}}},entity:[{pattern:/&amp;[\da-z]{1,8};/i,alias:&quot;named-entity&quot;},/&amp;#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[&quot;attr-value&quot;].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[&quot;internal-subset&quot;].inside=Prism.languages.markup,Prism.hooks.add(&quot;wrap&quot;,function(a){&quot;entity&quot;===a.type&amp;&amp;(a.attributes.title=a.content.replace(/&amp;amp;/,&quot;&amp;&quot;))}),Object.defineProperty(Prism.languages.markup.tag,&quot;addInlined&quot;,{value:function(a,e){var s={};s[&quot;language-&quot;+e]={pattern:/(^&lt;!\[CDATA\[)[\s\S]+?(?=\]\]&gt;$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^&lt;!\[CDATA\[|\]\]&gt;$/i;var n={&quot;included-cdata&quot;:{pattern:/&lt;!\[CDATA\[[\s\S]*?\]\]&gt;/i,inside:s}};n[&quot;language-&quot;+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp(&quot;(&lt;__[^&gt;]*&gt;)(?:&lt;!\\[CDATA\\[(?:[^\\]]|\\](?!\\]&gt;))*\\]\\]&gt;|(?!&lt;!\\[CDATA\\[)[^])*?(?=&lt;/__&gt;)&quot;.replace(/__/g,function(){return a}),&quot;i&quot;),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore(&quot;markup&quot;,&quot;cdata&quot;,t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(&quot;markup&quot;,{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
!function(s){var e=/(&quot;|&#39;)(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,&quot;selector-function-argument&quot;:{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:&quot;selector&quot;},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(&quot;\\burl\\((?:&quot;+e.source+&quot;|(?:[^\\\\\r\n()\&quot;&#39;]|\\\\[^])*)\\)&quot;,&quot;i&quot;),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(&quot;^&quot;+e.source+&quot;$&quot;),alias:&quot;url&quot;}}},selector:RegExp(&quot;[^{}\\s](?:[^{};\&quot;&#39;\\s]|\\s+(?![\\s{])|&quot;+e.source+&quot;)*(?=\\s*\\{)&quot;),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&amp;&amp;(t.tag.addInlined(&quot;style&quot;,&quot;css&quot;),s.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{&quot;style-attr&quot;:{pattern:/(^|[&quot;&#39;\s])style\s*=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;)/i,lookbehind:!0,inside:{&quot;attr-value&quot;:{pattern:/=\s*(?:&quot;[^&quot;]*&quot;|&#39;[^&#39;]*&#39;|[^\s&#39;&quot;&gt;=]+)/,inside:{style:{pattern:/([&quot;&#39;])[\s\S]+(?=[&quot;&#39;]$)/,lookbehind:!0,alias:&quot;language-css&quot;,inside:s.languages.css},punctuation:[{pattern:/^=/,alias:&quot;attr-equals&quot;},/&quot;|&#39;/]}},&quot;attr-name&quot;:/^style/i}}},t.tag))}(Prism);
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[&lt;&gt;]=?|[!=]=?=?|--?|\+\+?|&amp;&amp;?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
Prism.languages.javascript=Prism.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[Prism.languages.clike[&quot;class-name&quot;],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:[&#39;&quot;]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=&gt;|&amp;&amp;=?|\|\|=?|[!=]==|&lt;&lt;=?|&gt;&gt;&gt;?=?|[-+*/%&amp;|^!=&lt;&gt;]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript[&quot;class-name&quot;][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore(&quot;javascript&quot;,&quot;keyword&quot;,{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF.&quot;&#39;\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{&quot;regex-source&quot;:{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:&quot;language-regex&quot;,inside:Prism.languages.regex},&quot;regex-flags&quot;:/[a-z]+$/,&quot;regex-delimiter&quot;:/^\/|\/$/}},&quot;function-variable&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=&gt;))/,alias:&quot;function&quot;},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=&gt;)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=&gt;)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore(&quot;javascript&quot;,&quot;string&quot;,{&quot;template-string&quot;:{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{&quot;template-punctuation&quot;:{pattern:/^`|`$/,alias:&quot;string&quot;},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{&quot;interpolation-punctuation&quot;:{pattern:/^\${|}$/,alias:&quot;punctuation&quot;},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&amp;&amp;Prism.languages.markup.tag.addInlined(&quot;script&quot;,&quot;javascript&quot;),Prism.languages.js=Prism.languages.javascript;
Prism.languages.c=Prism.languages.extend(&quot;clike&quot;,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},&quot;class-name&quot;:{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?/}),Prism.languages.insertBefore(&quot;c&quot;,&quot;string&quot;,{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:&quot;property&quot;,inside:{string:[{pattern:/^(#\s*include\s*)&lt;[^&gt;]+&gt;/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,&quot;macro-name&quot;:[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:&quot;function&quot;}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:&quot;keyword&quot;},&quot;directive-hash&quot;:/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean;
!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend(&quot;c&quot;,{&quot;class-name&quot;:[{pattern:RegExp(&quot;(\\b(?:class|concept|enum|struct|typename)\\s+)(?!&lt;keyword&gt;)\\w+&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01&#39;]+|\b0x(?:[\da-f&#39;]+(?:\.[\da-f&#39;]*)?|\.[\da-f&#39;]+)(?:p[+-]?[\d&#39;]+)?|(?:\b[\d&#39;]+(?:\.[\d&#39;]*)?|\B\.[\d&#39;]+)(?:e[+-]?[\d&#39;]+)?)[ful]{0,4}/i,greedy:!0},operator:/&gt;&gt;=?|&lt;&lt;=?|-&gt;|([-+&amp;|:])\1|[?:~]|&lt;=&gt;|[-+*/%&amp;|^!=&lt;&gt;]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore(&quot;cpp&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/R&quot;([^()\\ ]{0,16})\([\s\S]*?\)\1&quot;/,alias:&quot;string&quot;,greedy:!0}}),e.languages.insertBefore(&quot;cpp&quot;,&quot;class-name&quot;,{&quot;base-clause&quot;:{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}&quot;&#39;\s]+(?:\s+[^;{}&quot;&#39;\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(&quot;cpp&quot;,{})}}),e.languages.insertBefore(&quot;inside&quot;,&quot;operator&quot;,{&quot;class-name&quot;:/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[&quot;base-clause&quot;])}(Prism);
!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=&quot;(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*&quot;,a={pattern:RegExp(n+&quot;[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b&quot;),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(&quot;clike&quot;,{&quot;class-name&quot;:[a,{pattern:RegExp(n+&quot;[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])&quot;),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:&lt;&lt;=?|&gt;&gt;&gt;?=?|-&gt;|--|\+\+|&amp;&amp;|\|\||::|[?:~]|[-+*/%&amp;|^!=&lt;&gt;]=?)/m,lookbehind:!0}}),e.languages.insertBefore(&quot;java&quot;,&quot;string&quot;,{&quot;triple-quoted-string&quot;:{pattern:/&quot;&quot;&quot;[ \t]*[\r\n](?:(?:&quot;|&quot;&quot;)?(?:\\.|[^&quot;\\]))*&quot;&quot;&quot;/,greedy:!0,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;java&quot;,&quot;class-name&quot;,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:&quot;punctuation&quot;},generics:{pattern:/&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;(?:[\w\s,.&amp;?]|&lt;[\w\s,.&amp;?]*&gt;)*&gt;)*&gt;)*&gt;/,inside:{&quot;class-name&quot;:a,keyword:t,punctuation:/[&lt;&gt;(),.:]/,operator:/[?&amp;|]/}},namespace:{pattern:RegExp(&quot;(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!&lt;keyword&gt;)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?&quot;.replace(/&lt;keyword&gt;/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
!function(e){e.languages.kotlin=e.languages.extend(&quot;clike&quot;,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=&gt;]?|==?=?|!(?:!|==?)?|[\/*%&lt;&gt;]=?|[?:]:?|\.\.|&amp;&amp;|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[&quot;class-name&quot;],e.languages.insertBefore(&quot;kotlin&quot;,&quot;string&quot;,{&quot;raw-string&quot;:{pattern:/(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/,alias:&quot;string&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;keyword&quot;,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:&quot;builtin&quot;}}),e.languages.insertBefore(&quot;kotlin&quot;,&quot;function&quot;,{label:{pattern:/\w+@|@\w+/,alias:&quot;symbol&quot;}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:&quot;variable&quot;},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:&quot;variable&quot;}];e.languages.kotlin.string.inside=e.languages.kotlin[&quot;raw-string&quot;].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism);
!function(h){function v(e,n){return&quot;___&quot;+e.toUpperCase()+n+&quot;___&quot;}Object.defineProperties(h.languages[&quot;markup-templating&quot;]={},{buildPlaceholders:{value:function(a,r,e,o){if(a.language===r){var c=a.tokenStack=[];a.code=a.code.replace(e,function(e){if(&quot;function&quot;==typeof o&amp;&amp;!o(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=v(r,t));)++t;return c[t]=e,n}),a.grammar=h.languages.markup}}},tokenizePlaceholders:{value:function(p,k){if(p.language===k&amp;&amp;p.tokenStack){p.grammar=h.languages[k];var m=0,d=Object.keys(p.tokenStack);!function e(n){for(var t=0;t&lt;n.length&amp;&amp;!(m&gt;=d.length);t++){var a=n[t];if(&quot;string&quot;==typeof a||a.content&amp;&amp;&quot;string&quot;==typeof a.content){var r=d[m],o=p.tokenStack[r],c=&quot;string&quot;==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1&lt;u){++m;var g=c.substring(0,u),l=new h.Token(k,h.tokenize(o,p.grammar),&quot;language-&quot;+k,o),s=c.substring(u+i.length),f=[];g&amp;&amp;f.push.apply(f,e([g])),f.push(l),s&amp;&amp;f.push.apply(f,e([s])),&quot;string&quot;==typeof a?n.splice.apply(n,[t,1].concat(f)):a.content=f}}else a.content&amp;&amp;e(a.content)}return n}(p.tokens)}}}})}(Prism);
!function($){var e=[&quot;$eq&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$in&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ne&quot;,&quot;$nin&quot;,&quot;$and&quot;,&quot;$not&quot;,&quot;$nor&quot;,&quot;$or&quot;,&quot;$exists&quot;,&quot;$type&quot;,&quot;$expr&quot;,&quot;$jsonSchema&quot;,&quot;$mod&quot;,&quot;$regex&quot;,&quot;$text&quot;,&quot;$where&quot;,&quot;$geoIntersects&quot;,&quot;$geoWithin&quot;,&quot;$near&quot;,&quot;$nearSphere&quot;,&quot;$all&quot;,&quot;$elemMatch&quot;,&quot;$size&quot;,&quot;$bitsAllClear&quot;,&quot;$bitsAllSet&quot;,&quot;$bitsAnyClear&quot;,&quot;$bitsAnySet&quot;,&quot;$comment&quot;,&quot;$elemMatch&quot;,&quot;$meta&quot;,&quot;$slice&quot;,&quot;$currentDate&quot;,&quot;$inc&quot;,&quot;$min&quot;,&quot;$max&quot;,&quot;$mul&quot;,&quot;$rename&quot;,&quot;$set&quot;,&quot;$setOnInsert&quot;,&quot;$unset&quot;,&quot;$addToSet&quot;,&quot;$pop&quot;,&quot;$pull&quot;,&quot;$push&quot;,&quot;$pullAll&quot;,&quot;$each&quot;,&quot;$position&quot;,&quot;$slice&quot;,&quot;$sort&quot;,&quot;$bit&quot;,&quot;$addFields&quot;,&quot;$bucket&quot;,&quot;$bucketAuto&quot;,&quot;$collStats&quot;,&quot;$count&quot;,&quot;$currentOp&quot;,&quot;$facet&quot;,&quot;$geoNear&quot;,&quot;$graphLookup&quot;,&quot;$group&quot;,&quot;$indexStats&quot;,&quot;$limit&quot;,&quot;$listLocalSessions&quot;,&quot;$listSessions&quot;,&quot;$lookup&quot;,&quot;$match&quot;,&quot;$merge&quot;,&quot;$out&quot;,&quot;$planCacheStats&quot;,&quot;$project&quot;,&quot;$redact&quot;,&quot;$replaceRoot&quot;,&quot;$replaceWith&quot;,&quot;$sample&quot;,&quot;$set&quot;,&quot;$skip&quot;,&quot;$sort&quot;,&quot;$sortByCount&quot;,&quot;$unionWith&quot;,&quot;$unset&quot;,&quot;$unwind&quot;,&quot;$abs&quot;,&quot;$accumulator&quot;,&quot;$acos&quot;,&quot;$acosh&quot;,&quot;$add&quot;,&quot;$addToSet&quot;,&quot;$allElementsTrue&quot;,&quot;$and&quot;,&quot;$anyElementTrue&quot;,&quot;$arrayElemAt&quot;,&quot;$arrayToObject&quot;,&quot;$asin&quot;,&quot;$asinh&quot;,&quot;$atan&quot;,&quot;$atan2&quot;,&quot;$atanh&quot;,&quot;$avg&quot;,&quot;$binarySize&quot;,&quot;$bsonSize&quot;,&quot;$ceil&quot;,&quot;$cmp&quot;,&quot;$concat&quot;,&quot;$concatArrays&quot;,&quot;$cond&quot;,&quot;$convert&quot;,&quot;$cos&quot;,&quot;$dateFromParts&quot;,&quot;$dateToParts&quot;,&quot;$dateFromString&quot;,&quot;$dateToString&quot;,&quot;$dayOfMonth&quot;,&quot;$dayOfWeek&quot;,&quot;$dayOfYear&quot;,&quot;$degreesToRadians&quot;,&quot;$divide&quot;,&quot;$eq&quot;,&quot;$exp&quot;,&quot;$filter&quot;,&quot;$first&quot;,&quot;$floor&quot;,&quot;$function&quot;,&quot;$gt&quot;,&quot;$gte&quot;,&quot;$hour&quot;,&quot;$ifNull&quot;,&quot;$in&quot;,&quot;$indexOfArray&quot;,&quot;$indexOfBytes&quot;,&quot;$indexOfCP&quot;,&quot;$isArray&quot;,&quot;$isNumber&quot;,&quot;$isoDayOfWeek&quot;,&quot;$isoWeek&quot;,&quot;$isoWeekYear&quot;,&quot;$last&quot;,&quot;$last&quot;,&quot;$let&quot;,&quot;$literal&quot;,&quot;$ln&quot;,&quot;$log&quot;,&quot;$log10&quot;,&quot;$lt&quot;,&quot;$lte&quot;,&quot;$ltrim&quot;,&quot;$map&quot;,&quot;$max&quot;,&quot;$mergeObjects&quot;,&quot;$meta&quot;,&quot;$min&quot;,&quot;$millisecond&quot;,&quot;$minute&quot;,&quot;$mod&quot;,&quot;$month&quot;,&quot;$multiply&quot;,&quot;$ne&quot;,&quot;$not&quot;,&quot;$objectToArray&quot;,&quot;$or&quot;,&quot;$pow&quot;,&quot;$push&quot;,&quot;$radiansToDegrees&quot;,&quot;$range&quot;,&quot;$reduce&quot;,&quot;$regexFind&quot;,&quot;$regexFindAll&quot;,&quot;$regexMatch&quot;,&quot;$replaceOne&quot;,&quot;$replaceAll&quot;,&quot;$reverseArray&quot;,&quot;$round&quot;,&quot;$rtrim&quot;,&quot;$second&quot;,&quot;$setDifference&quot;,&quot;$setEquals&quot;,&quot;$setIntersection&quot;,&quot;$setIsSubset&quot;,&quot;$setUnion&quot;,&quot;$size&quot;,&quot;$sin&quot;,&quot;$slice&quot;,&quot;$split&quot;,&quot;$sqrt&quot;,&quot;$stdDevPop&quot;,&quot;$stdDevSamp&quot;,&quot;$strcasecmp&quot;,&quot;$strLenBytes&quot;,&quot;$strLenCP&quot;,&quot;$substr&quot;,&quot;$substrBytes&quot;,&quot;$substrCP&quot;,&quot;$subtract&quot;,&quot;$sum&quot;,&quot;$switch&quot;,&quot;$tan&quot;,&quot;$toBool&quot;,&quot;$toDate&quot;,&quot;$toDecimal&quot;,&quot;$toDouble&quot;,&quot;$toInt&quot;,&quot;$toLong&quot;,&quot;$toObjectId&quot;,&quot;$toString&quot;,&quot;$toLower&quot;,&quot;$toUpper&quot;,&quot;$trim&quot;,&quot;$trunc&quot;,&quot;$type&quot;,&quot;$week&quot;,&quot;$year&quot;,&quot;$zip&quot;,&quot;$comment&quot;,&quot;$explain&quot;,&quot;$hint&quot;,&quot;$max&quot;,&quot;$maxTimeMS&quot;,&quot;$min&quot;,&quot;$orderby&quot;,&quot;$query&quot;,&quot;$returnKey&quot;,&quot;$showDiskLoc&quot;,&quot;$natural&quot;],t=&quot;(?:&quot;+(e=e.map(function($){return $.replace(&quot;$&quot;,&quot;\\$&quot;)})).join(&quot;|&quot;)+&quot;)\\b&quot;;$.languages.mongodb=$.languages.extend(&quot;javascript&quot;,{}),$.languages.insertBefore(&quot;mongodb&quot;,&quot;string&quot;,{property:{pattern:/(?:([&quot;&#39;])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp(&quot;^([&#39;\&quot;])?&quot;+t+&quot;(?:\\1)?$&quot;)}}}),$.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&amp;/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/,greedy:!0}},$.languages.insertBefore(&quot;mongodb&quot;,&quot;constant&quot;,{builtin:{pattern:RegExp(&quot;\\b(?:&quot;+[&quot;ObjectId&quot;,&quot;Code&quot;,&quot;BinData&quot;,&quot;DBRef&quot;,&quot;Timestamp&quot;,&quot;NumberLong&quot;,&quot;NumberDecimal&quot;,&quot;MaxKey&quot;,&quot;MinKey&quot;,&quot;RegExp&quot;,&quot;ISODate&quot;,&quot;UUID&quot;].join(&quot;|&quot;)+&quot;)\\b&quot;),alias:&quot;keyword&quot;}})}(Prism);
!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:&quot;boolean&quot;},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/&lt;?=&gt;|\?\?=?|\.{3}|\??-&gt;|[!=]=?=?|::|\*\*=?|--|\+\+|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|[?~]|[/^|%*&amp;&lt;&gt;.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?&gt;$|^&lt;\?(?:php(?=\s)|=)?/i,alias:&quot;important&quot;},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},&quot;class-name-definition&quot;:{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:&quot;class-name&quot;},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:&quot;type-casting&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:&quot;type-declaration&quot;,greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],&quot;argument-name&quot;:{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},&quot;class-name&quot;:[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:&quot;class-name-fully-qualified&quot;,greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-declaration&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-declaration&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:&quot;static-context&quot;,greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;static-context&quot;],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:&quot;type-hint&quot;,greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;type-hint&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;return-type&quot;,greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:[&quot;class-name-fully-qualified&quot;,&quot;return-type&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(-&gt;)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|-&gt;\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/&lt;&lt;&lt;&#39;([^&#39;]+)&#39;[\r\n](?:.*[\r\n])*?\1;/,alias:&quot;nowdoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;&#39;[^&#39;]+&#39;|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&#39;?|[&#39;;]$/}}}},{pattern:/&lt;&lt;&lt;(?:&quot;([^&quot;]+)&quot;[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:&quot;heredoc-string&quot;,greedy:!0,inside:{delimiter:{pattern:/^&lt;&lt;&lt;(?:&quot;[^&quot;]+&quot;|[a-z_]\w*)|[a-z_]\w*;$/i,alias:&quot;symbol&quot;,inside:{punctuation:/^&lt;&lt;&lt;&quot;?|[&quot;;]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:&quot;backtick-quoted-string&quot;,greedy:!0},{pattern:/&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;/,alias:&quot;single-quoted-string&quot;,greedy:!0},{pattern:/&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;/,alias:&quot;double-quoted-string&quot;,greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{string:r}),a.languages.insertBefore(&quot;php&quot;,&quot;variable&quot;,{attribute:{pattern:/#\[(?:[^&quot;&#39;\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|&quot;(?:\\[\s\S]|[^\\&quot;])*&quot;|&#39;(?:\\[\s\S]|[^\\&#39;])*&#39;)+\](?=\s*[a-z$#])/im,greedy:!0,inside:{&quot;attribute-content&quot;:{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,&quot;attribute-class-name&quot;:[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:&quot;class-name&quot;,greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:[&quot;class-name&quot;,&quot;class-name-fully-qualified&quot;],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:&quot;punctuation&quot;}}}}),a.hooks.add(&quot;before-tokenize&quot;,function(e){if(/&lt;\?/.test(e.code)){a.languages[&quot;markup-templating&quot;].buildPlaceholders(e,&quot;php&quot;,/&lt;\?(?:[^&quot;&#39;/#]|\/(?![*/])|(&quot;|&#39;)(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!&gt;))*(?=$|\?&gt;|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?&gt;|$)/gi)}}),a.hooks.add(&quot;after-tokenize&quot;,function(e){a.languages[&quot;markup-templating&quot;].tokenizePlaceholders(e,&quot;php&quot;)})}(Prism);
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([&quot;&#39;`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])(&quot;|&#39;)(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&amp;&amp;?|\|\|?|!=?|&lt;(?:=&gt;?|&lt;|&gt;)?|&gt;[&gt;=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};
!function(E){var A=E.languages.plsql=E.languages.extend(&quot;sql&quot;,{comment:[/\/\*[\s\S]*?\*\//,/--.*/]}),T=A.keyword;Array.isArray(T)||(T=A.keyword=[T]),T.unshift(/\b(?:ACCESS|AGENT|AGGREGATE|ARRAY|ARROW|AT|ATTRIBUTE|AUDIT|AUTHID|BFILE_BASE|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BYTE|CALLING|CHAR_BASE|CHARSET(?:FORM|ID)|CLOB_BASE|COLAUTH|COLLECT|CLUSTERS?|COMPILED|COMPRESS|CONSTANT|CONSTRUCTOR|CONTEXT|CRASH|CUSTOMDATUM|DANGLING|DATE_BASE|DEFINE|DETERMINISTIC|DURATION|ELEMENT|EMPTY|EXCEPTIONS?|EXCLUSIVE|EXTERNAL|FINAL|FORALL|FORM|FOUND|GENERAL|HEAP|HIDDEN|IDENTIFIED|IMMEDIATE|INCLUDING|INCREMENT|INDICATOR|INDEXES|INDICES|INFINITE|INITIAL|ISOPEN|INSTANTIABLE|INTERFACE|INVALIDATE|JAVA|LARGE|LEADING|LENGTH|LIBRARY|LIKE[24C]|LIMITED|LONG|LOOP|MAP|MAXEXTENTS|MAXLEN|MEMBER|MINUS|MLSLABEL|MULTISET|NAME|NAN|NATIVE|NEW|NOAUDIT|NOCOMPRESS|NOCOPY|NOTFOUND|NOWAIT|NUMBER(?:_BASE)?|OBJECT|OCI(?:COLL|DATE|DATETIME|DURATION|INTERVAL|LOBLOCATOR|NUMBER|RAW|REF|REFCURSOR|ROWID|STRING|TYPE)|OFFLINE|ONLINE|ONLY|OPAQUE|OPERATOR|ORACLE|ORADATA|ORGANIZATION|ORL(?:ANY|VARY)|OTHERS|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETERS?|PASCAL|PCTFREE|PIPE(?:LINED)?|PRAGMA|PRIOR|PRIVATE|RAISE|RANGE|RAW|RECORD|REF|REFERENCE|REM|REMAINDER|RESULT|RESOURCE|RETURNING|REVERSE|ROW(?:ID|NUM|TYPE)|SAMPLE|SB[124]|SEGMENT|SELF|SEPARATE|SEQUENCE|SHORT|SIZE(?:_T)?|SPARSE|SQL(?:CODE|DATA|NAME|STATE)|STANDARD|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUCCESSFUL|SYNONYM|SYSDATE|TABAUTH|TDO|THE|TIMEZONE_(?:ABBR|HOUR|MINUTE|REGION)|TRAILING|TRANSAC(?:TIONAL)?|TRUSTED|UB[124]|UID|UNDER|UNTRUSTED|VALIDATE|VALIST|VARCHAR2|VARIABLE|VARIANCE|VARRAY|VIEWS|VOID|WHENEVER|WRAPPED|ZONE)\b/i);var R=A.operator;Array.isArray(R)||(R=A.operator=[R]),R.unshift(/:=/)}(Prism);
Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},&quot;string-interpolation&quot;:{pattern:/(?:f|rf|fr)(?:(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1|(&quot;|&#39;)(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{&quot;format-spec&quot;:{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},&quot;conversion-option&quot;:{pattern:/![sra](?=[:}]$)/,alias:&quot;punctuation&quot;},rest:null}},string:/[\s\S]+/}},&quot;triple-quoted-string&quot;:{pattern:/(?:[rub]|rb|br)?(&quot;&quot;&quot;|&#39;&#39;&#39;)[\s\S]*?\1/i,greedy:!0,alias:&quot;string&quot;},string:{pattern:/(?:[rub]|rb|br)?(&quot;|&#39;)(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},&quot;class-name&quot;:{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:[&quot;annotation&quot;,&quot;punctuation&quot;],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|&lt;[&lt;=&gt;]?|&gt;[=&gt;]?|[&amp;|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python[&quot;string-interpolation&quot;].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;
!function(o){var t=o.util.clone(o.languages.javascript),e=&quot;(?:\\{&lt;S&gt;*\\.{3}(?:[^{}]|&lt;BRACES&gt;)*\\})&quot;;function n(t,n){return t=t.replace(/&lt;S&gt;/g,function(){return&quot;(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)&quot;}).replace(/&lt;BRACES&gt;/g,function(){return&quot;(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})&quot;}).replace(/&lt;SPREAD&gt;/g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend(&quot;markup&quot;,t),o.languages.jsx.tag.pattern=n(&quot;&lt;/?(?:[\\w.:-]+(?:&lt;S&gt;+(?:[\\w.:$-]+(?:=(?:\&quot;(?:\\\\[^]|[^\\\\\&quot;])*\&quot;|&#39;(?:\\\\[^]|[^\\\\&#39;])*&#39;|[^\\s{&#39;\&quot;/&gt;=]+|&lt;BRACES&gt;))?|&lt;SPREAD&gt;))*&lt;S&gt;*/?)?&gt;&quot;),o.languages.jsx.tag.inside.tag.pattern=/^&lt;\/?[^\s&gt;\/]*/i,o.languages.jsx.tag.inside[&quot;attr-value&quot;].pattern=/=(?!\{)(?:&quot;(?:\\[^]|[^\\&quot;])*&quot;|&#39;(?:\\[^]|[^\\&#39;])*&#39;|[^\s&#39;&quot;&gt;]+)/i,o.languages.jsx.tag.inside.tag.inside[&quot;class-name&quot;]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore(&quot;inside&quot;,&quot;attr-name&quot;,{spread:{pattern:n(&quot;&lt;SPREAD&gt;&quot;),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore(&quot;inside&quot;,&quot;attr-value&quot;,{script:{pattern:n(&quot;=&lt;BRACES&gt;&quot;),inside:{&quot;script-punctuation&quot;:{pattern:/^=(?={)/,alias:&quot;punctuation&quot;},rest:o.languages.jsx},alias:&quot;language-javascript&quot;}},o.languages.jsx.tag);var i=function(t){return t?&quot;string&quot;==typeof t?t:&quot;string&quot;==typeof t.content?t.content:t.content.map(i).join(&quot;&quot;):&quot;&quot;},r=function(t){for(var n=[],e=0;e&lt;t.length;e++){var a=t[e],g=!1;if(&quot;string&quot;!=typeof a&amp;&amp;(&quot;tag&quot;===a.type&amp;&amp;a.content[0]&amp;&amp;&quot;tag&quot;===a.content[0].type?&quot;&lt;/&quot;===a.content[0].content[0].content?0&lt;n.length&amp;&amp;n[n.length-1].tagName===i(a.content[0].content[1])&amp;&amp;n.pop():&quot;/&gt;&quot;===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0&lt;n.length&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;{&quot;===a.content?n[n.length-1].openedBraces++:0&lt;n.length&amp;&amp;0&lt;n[n.length-1].openedBraces&amp;&amp;&quot;punctuation&quot;===a.type&amp;&amp;&quot;}&quot;===a.content?n[n.length-1].openedBraces--:g=!0),(g||&quot;string&quot;==typeof a)&amp;&amp;0&lt;n.length&amp;&amp;0===n[n.length-1].openedBraces){var s=i(a);e&lt;t.length-1&amp;&amp;(&quot;string&quot;==typeof t[e+1]||&quot;plain-text&quot;===t[e+1].type)&amp;&amp;(s+=i(t[e+1]),t.splice(e+1,1)),0&lt;e&amp;&amp;(&quot;string&quot;==typeof t[e-1]||&quot;plain-text&quot;===t[e-1].type)&amp;&amp;(s=i(t[e-1])+s,t.splice(e-1,1),e--),t[e]=new o.Token(&quot;plain-text&quot;,s,null,s)}a.content&amp;&amp;&quot;string&quot;!=typeof a.content&amp;&amp;r(a.content)}};o.hooks.add(&quot;after-tokenize&quot;,function(t){&quot;jsx&quot;!==t.language&amp;&amp;&quot;tsx&quot;!==t.language||r(t.tokens)})}(Prism);
!function(e){e.languages.typescript=e.languages.extend(&quot;javascript&quot;,{&quot;class-name&quot;:{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend(&quot;typescript&quot;,{});delete n[&quot;class-name&quot;],e.languages.typescript[&quot;class-name&quot;].inside=n,e.languages.insertBefore(&quot;typescript&quot;,&quot;function&quot;,{&quot;generic-function&quot;:{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*&lt;(?:[^&lt;&gt;]|&lt;(?:[^&lt;&gt;]|&lt;[^&lt;&gt;]*&gt;)*&gt;)*&gt;(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/&lt;[\s\S]+/,alias:&quot;class-name&quot;,inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism);
!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend(&quot;jsx&quot;,e);var t=a.languages.tsx.tag;t.pattern=RegExp(&quot;(^|[^\\w$]|(?=&lt;/))(?:&quot;+t.pattern.source+&quot;)&quot;,t.pattern.flags),t.lookbehind=!0}(Prism);
!function(e){e.languages.ruby=e.languages.extend(&quot;clike&quot;,{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],&quot;class-name&quot;:{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var n={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:&quot;tag&quot;},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore(&quot;ruby&quot;,&quot;keyword&quot;,{regex:[{pattern:RegExp(&quot;%r(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;[gim]{0,3}&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},&quot;method-definition&quot;:{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore(&quot;ruby&quot;,&quot;number&quot;,{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp(&quot;%[qQiIwWxs]?(?:&quot;+[&quot;([^a-zA-Z0-9\\s{(\\[&lt;])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1&quot;,&quot;\\((?:[^()\\\\]|\\\\[^])*\\)&quot;,&quot;\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}&quot;,&quot;\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]&quot;,&quot;&lt;(?:[^&lt;&gt;\\\\]|\\\\[^])*&gt;&quot;].join(&quot;|&quot;)+&quot;)&quot;),greedy:!0,inside:{interpolation:n}},{pattern:/(&quot;|&#39;)(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism);
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var o=&quot;line-numbers&quot;,a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if(&quot;PRE&quot;===e.tagName&amp;&amp;e.classList.contains(o)){var t=e.querySelector(&quot;.line-numbers-rows&quot;);if(t){var i=parseInt(e.getAttribute(&quot;data-start&quot;),10)||1,r=i+(t.children.length-1);n&lt;i&amp;&amp;(n=i),r&lt;n&amp;&amp;(n=r);var s=n-i;return t.children[s]}}},resize:function(e){u([e])},assumeViewportIndependence:!0},t=function(e){return e?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null},n=void 0;window.addEventListener(&quot;resize&quot;,function(){e.assumeViewportIndependence&amp;&amp;n===window.innerWidth||(n=window.innerWidth,u(Array.prototype.slice.call(document.querySelectorAll(&quot;pre.&quot;+o))))}),Prism.hooks.add(&quot;complete&quot;,function(e){if(e.code){var n=e.element,t=n.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;!n.querySelector(&quot;.line-numbers-rows&quot;)&amp;&amp;Prism.util.isActive(n,o)){n.classList.remove(o),t.classList.add(o);var i,r=e.code.match(a),s=r?r.length+1:1,l=new Array(s+1).join(&quot;&lt;span&gt;&lt;/span&gt;&quot;);(i=document.createElement(&quot;span&quot;)).setAttribute(&quot;aria-hidden&quot;,&quot;true&quot;),i.className=&quot;line-numbers-rows&quot;,i.innerHTML=l,t.hasAttribute(&quot;data-start&quot;)&amp;&amp;(t.style.counterReset=&quot;linenumber &quot;+(parseInt(t.getAttribute(&quot;data-start&quot;),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run(&quot;line-numbers&quot;,e)}}}),Prism.hooks.add(&quot;line-numbers&quot;,function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)[&quot;white-space&quot;];return&quot;pre-wrap&quot;===n||&quot;pre-line&quot;===n})).length){var n=e.map(function(e){var n=e.querySelector(&quot;code&quot;),t=e.querySelector(&quot;.line-numbers-rows&quot;);if(n&amp;&amp;t){var i=e.querySelector(&quot;.line-numbers-sizer&quot;),r=n.textContent.split(a);i||((i=document.createElement(&quot;span&quot;)).className=&quot;line-numbers-sizer&quot;,n.appendChild(i)),i.innerHTML=&quot;0&quot;,i.style.display=&quot;block&quot;;var s=i.getBoundingClientRect().height;return i.innerHTML=&quot;&quot;,{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&amp;&amp;1&lt;e.length){var t=i.appendChild(document.createElement(&quot;span&quot;));t.style.display=&quot;block&quot;,t.textContent=e}else r[n]=s})}),n.forEach(function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r&lt;t.length;r++)void 0===t[r]&amp;&amp;(t[r]=n.children[i++].getBoundingClientRect().height)}),n.forEach(function(e){var n=e.sizer,t=e.element.querySelector(&quot;.line-numbers-rows&quot;);n.style.display=&quot;none&quot;,n.innerHTML=&quot;&quot;,e.lineHeights.forEach(function(e,n){t.children[n].style.height=e+&quot;px&quot;})})}}}();
&quot;undefined&quot;!=typeof self&amp;&amp;!self.Prism||&quot;undefined&quot;!=typeof global&amp;&amp;!global.Prism||Prism.hooks.add(&quot;wrap&quot;,function(e){&quot;keyword&quot;===e.type&amp;&amp;e.classes.push(&quot;keyword-&quot;+e.content)});
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document){var i=[],l={},c=function(){};Prism.plugins.toolbar={};var e=Prism.plugins.toolbar.registerButton=function(e,n){var t;t=&quot;function&quot;==typeof n?n:function(e){var t;return&quot;function&quot;==typeof n.onClick?((t=document.createElement(&quot;button&quot;)).type=&quot;button&quot;,t.addEventListener(&quot;click&quot;,function(){n.onClick.call(this,e)})):&quot;string&quot;==typeof n.url?(t=document.createElement(&quot;a&quot;)).href=n.url:t=document.createElement(&quot;span&quot;),n.className&amp;&amp;t.classList.add(n.className),t.textContent=n.text,t},e in l?console.warn(&#39;There is a button with the key &quot;&#39;+e+&#39;&quot; registered already.&#39;):i.push(l[e]=t)},t=Prism.plugins.toolbar.hook=function(a){var e=a.element.parentNode;if(e&amp;&amp;/pre/i.test(e.nodeName)&amp;&amp;!e.parentNode.classList.contains(&quot;code-toolbar&quot;)){var t=document.createElement(&quot;div&quot;);t.classList.add(&quot;code-toolbar&quot;),e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement(&quot;div&quot;);r.classList.add(&quot;toolbar&quot;);var n=i,o=function(e){for(;e;){var t=e.getAttribute(&quot;data-toolbar-order&quot;);if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);o&amp;&amp;(n=o.map(function(e){return l[e]||c})),n.forEach(function(e){var t=e(a);if(t){var n=document.createElement(&quot;div&quot;);n.classList.add(&quot;toolbar-item&quot;),n.appendChild(t),r.appendChild(n)}}),t.appendChild(r)}};e(&quot;label&quot;,function(e){var t=e.element.parentNode;if(t&amp;&amp;/pre/i.test(t.nodeName)&amp;&amp;t.hasAttribute(&quot;data-label&quot;)){var n,a,r=t.getAttribute(&quot;data-label&quot;);try{a=document.querySelector(&quot;template#&quot;+r)}catch(e){}return a?n=a.content:(t.hasAttribute(&quot;data-url&quot;)?(n=document.createElement(&quot;a&quot;)).href=t.getAttribute(&quot;data-url&quot;):n=document.createElement(&quot;span&quot;),n.textContent=r),n}}),Prism.hooks.add(&quot;complete&quot;,t)}}();
!function(){if(&quot;undefined&quot;!=typeof self&amp;&amp;self.Prism&amp;&amp;self.document)if(Prism.plugins.toolbar){var c=window.ClipboardJS||void 0;c||&quot;function&quot;!=typeof require||(c=require(&quot;clipboard&quot;));var u=[];if(!c){var t=document.createElement(&quot;script&quot;),o=document.querySelector(&quot;head&quot;);t.onload=function(){if(c=window.ClipboardJS)for(;u.length;)u.pop()()},t.src=&quot;https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js&quot;,o.appendChild(t)}Prism.plugins.toolbar.registerButton(&quot;copy-to-clipboard&quot;,function(t){var o=t.element,e=function(t){var o={copy:&quot;Copy&quot;,&quot;copy-error&quot;:&quot;Press Ctrl+C to copy&quot;,&quot;copy-success&quot;:&quot;Copied!&quot;,&quot;copy-timeout&quot;:5e3};for(var e in o){for(var n=&quot;data-prismjs-&quot;+e,r=t;r&amp;&amp;!r.hasAttribute(n);)r=r.parentElement;r&amp;&amp;(o[e]=r.getAttribute(n))}return o}(o),n=document.createElement(&quot;button&quot;);return n.textContent=e.copy,n.setAttribute(&quot;type&quot;,&quot;button&quot;),c?r():u.push(r),n;function r(){var t=new c(n,{text:function(){return o.textContent}});t.on(&quot;success&quot;,function(){n.textContent=e[&quot;copy-success&quot;],i()}),t.on(&quot;error&quot;,function(){n.textContent=e[&quot;copy-error&quot;],i()})}function i(){setTimeout(function(){n.textContent=e.copy},e[&quot;copy-timeout&quot;])}})}else console.warn(&quot;Copy to Clipboard plugin loaded before Toolbar plugin.&quot;)}();

&lt;/script&gt;

&lt;style type=&quot;text/css&quot;&gt;

.language-markup
{
  font-size:15px;
}
.myimg
{
 border:solid #cdcdcd 1px;
 padding:8px;
}
p
{
  font-size:18px;
}
li
{
  font-size:18px;
}  
&lt;/style&gt;
</content><link rel='replies' type='application/atom+xml' href='https://www.onlyxcodes.com/feeds/7185092061811558319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.onlyxcodes.com/2024/09/difference-between-input-type-text-and-textarea.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/7185092061811558319'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5208088681305957591/posts/default/7185092061811558319'/><link rel='alternate' type='text/html' href='https://www.onlyxcodes.com/2024/09/difference-between-input-type-text-and-textarea.html' title='What is the difference between input type text and textarea?'/><author><name>Hamid Shaikh</name><uri>http://www.blogger.com/profile/11249349085848207703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwvx9l_nCKED5AxfKIjTBGp4WL89u3Jbd5Ryd-qinrs74loq1hv-lK_x1J-FjzpN4Q0Wt-ZqWArfC03qAiDY5d3vtVN5LVF8U0-b72D1eeNlBjzQDjPPv5vJB9ufUI4Vdj3prna690kG0CNdn-4JSmVbA4FpJ4_FNO1XQnNER4a5JFu8HRB75J3xNT4HiX/s72-c/difference-between-input-type-text-textarea.png" height="72" width="72"/><thr:total>0</thr:total><georss:featurename>United States</georss:featurename><georss:point>38.7945952 -106.5348379</georss:point><georss:box>10.484361363821158 -141.6910879 67.104829036178842 -71.3785879</georss:box></entry></feed>