0% found this document useful (0 votes)
21 views255 pages

CSS Variables and Styles Overview

The document contains CSS styles and JavaScript code related to the layout and design of a webpage, specifically for a Wikipedia article on JavaScript. It defines various CSS variables for colors, font sizes, and other styling properties. Additionally, it includes metadata and configuration settings for the page's functionality and user preferences.

Uploaded by

lokeshrajputt43
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views255 pages

CSS Variables and Styles Overview

The document contains CSS styles and JavaScript code related to the layout and design of a webpage, specifically for a Wikipedia article on JavaScript. It defines various CSS variables for colors, font sizes, and other styling properties. Additionally, it includes metadata and configuration settings for the page's functionality and user preferences.

Uploaded by

lokeshrajputt43
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

element.

style {
}
[Link]?la…ctor-2022:1
.vector-feature-custom-font-size-clientpref--excluded, .vector-feature-
custom-font-size-clientpref-0 {

1. --font-size-medium: 0.875rem;
2. --line-height-medium: 1.5714285;

}
[Link]?la…ctor-2022:1
:root, .skin-invert, .notheme, .ve-ui-overlay, .oo-ui-popupWidget-popup {

1. --color-base: #202122;
2. --color-base--hover: #404244;
3. --color-emphasized: #000;
4. --color-subtle: #54595d;
5. --color-placeholder: #72777d;
6. --color-disabled: #72777d;
7. --color-inverted: #fff;
8. --color-inverted-fixed: #fff;
9. --color-progressive: #36c;
10. --color-progressive--hover: #447ff5;
11. --color-progressive--active: #2a4b8d;
12. --color-progressive--focus: #36c;
13. --color-destructive: #d73333;
14. --color-destructive--hover: #ff4242;
15. --color-destructive--active: #b32424;
16. --color-destructive--focus: #36c;
17. --color-visited: #6b4ba1;
18. --color-destructive--visited: #a55858;
19. --color-error: #d73333;
20. --color-warning: #edab00;
21. --color-success: #14866d;
22. --color-notice: #202122;
23. --color-content-added: #36c;
24. --color-content-removed: #a66200;
25. --color-base--subtle: #72777d;
26. --color-link-red: #d73333;
27. --color-link-red--hover: #ff4242;
28. --color-link-red--active: #b32424;
29. --color-link-red--focus: #36c;
30. --color-link-red--visited: #a55858;
31. --filter-invert-icon: 0;
32. --filter-invert-primary-button-icon: 1;
33. --box-shadow-color-base: #000;
34. --box-shadow-color-progressive--active: #2a4b8d;
35. --box-shadow-color-progressive--focus: #36c;
36. --box-shadow-color-progressive-selected: #36c;
37. --box-shadow-color-progressive-selected--hover: #447ff5;
38. --box-shadow-color-progressive-selected--active: #2a4b8d;
39. --box-shadow-color-destructive--focus: #36c;
40. --box-shadow-color-inverted: #fff;
41. --box-shadow-color-transparent: transparent;
42. --background-color-interactive: #eaecf0;
43. --background-color-interactive-subtle: #f8f9fa;
44. --background-color-disabled: #c8ccd1;
45. --background-color-disabled-subtle: #eaecf0;
46. --background-color-progressive: #36c;
47. --background-color-progressive--hover: #447ff5;
48. --background-color-progressive--active: #2a4b8d;
49. --background-color-progressive--focus: #36c;
50. --background-color-progressive-subtle: #eaf3ff;

Show All Properties (66 more)


}
[Link]?la…ctor-2022:1
html, body {

1. font-family: sans-serif;

}
[Link]?la…ctor-2022:1
html {

1. font-size: 100%;

}
[Link]?la…ctor-2022:1
html, body {

1. height: 100%;

}
[Link]?la…ctor-2022:1
html {

1. touch-action: manipulation;

}
[Link]?la…ctor-2022:1
html {

1. scroll-padding-top: 75px;

}
html[Attributes Style] {
1. -webkit-locale: "en";
2. direction: ltr;

}
user agent stylesheet
[dir="ltr" i] {

1. unicode-bidi: isolate;

}
user agent stylesheet
:root {

1. view-transition-name: root;

}
user agent stylesheet
html {

1. display: block;

}
margin


border


padding


918.400×742.400



Console
Issues
top
<html class="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-
page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-
disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-
feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-
custom-font-size-clientpref-0 vector-feature-appearance-disabled vector-feature-appearance-pinned-
clientpref-0 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available
vector-animations-ready ve-available" lang="en" dir="ltr"><head>

<meta charset="UTF-8">

<title>JavaScript - Wikipedia</title>

<script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-


feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-
feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-
menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-
content-enabled vector-feature-custom-font-size-clientpref-0 vector-feature-appearance-disabled
vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-disabled skin-theme-
clientpref-day vector-toc-available";var
cookie=[Link](/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie)
{cookie[1].split('%2C').forEach(function(pref){className=[Link](new
RegExp('(^| )'+[Link](/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |
$)'),'$1'+pref+'$2');});}[Link]=className;}
());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":

["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":
["","January","February","March","April","May","June","July","August","September","October","Nov
ember","December"],"wgRequestId":"582821df-212a-4d39-99c8-
86706fb1e956","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceN
umber":0,"wgPageName":"JavaScript","wgTitle":"JavaScript","wgCurRevisionId":1219507869,"wgRe
visionId":1219507869,"wgArticleId":9845,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view",
"wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback
links","Articles with short description","Short description matches Wikidata","Use dmy dates from
March 2024","Wikipedia indefinitely semi-protected pages","Articles with excerpts","All articles with
unsourced statements","Articles with unsourced statements from August 2023","All articles with
failed verification","Articles with failed verification from March 2017",

"Pages using Sister project links with wikidata namespace mismatch","Pages using Sister project links
with hidden wikidata","Pages using Sister project links with default search","Articles with hAudio
microformats","Spoken articles","Articles with Curlie links","Articles with FAST identifiers","Articles
with BNE identifiers","Articles with BNF identifiers","Articles with BNFdata identifiers","Articles with
GND identifiers","Articles with J9U identifiers","Articles with LCCN identifiers","Articles with NKC
identifiers","Articles with SUDOC identifiers","Articles with example JavaScript
code","JavaScript","American inventions","Cross-platform software","Dynamically typed
programming languages","Functional languages","Object-based programming languages","High-level
programming languages","Programming languages created in 1995","Programming languages with
an ISO standard","Prototype-based programming languages","Scripting languages","Web
programming"],"wgPageViewLanguage":"en",
"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"JavaSc
ript","wgRelevantArticleId":9845,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":f
alse,"wgRestrictionEdit":["autoconfirmed"],"wgRestrictionMove":
["autoconfirmed"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlagge
dRevsParams":{"tags":{"status":
{"levels":1}}},"wgStableRevisionId":1219507869,"wgMediaViewerOnClick":true,"wgMediaViewerEna
bledByDefault":true,"wgPopupsFlags":6,"wgVisualEditor":
{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWiki
baseDescriptions":
{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOvers
ample":false,"wgWMEPageLength":100000,"wgULSCurrentAutonym":"English","wgCentralAuthMobi
leDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSis
CompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,

"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q2005","wgCheckUserClientHintsHea
dersJsApi":
["architecture","bitness","brands","fullVersionList","mobile","model","platform","platformVersion"],
"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStruc
turedTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE
={"[Link]":"ready","[Link]":"ready","[Link]":"ready","[Link]
yles":"ready","[Link]":"ready","[Link]":"ready","user":"ready","[Link]
":"loading","[Link]":"ready","[Link]":"ready","[Link]":"ready","[Link]
[Link]":"ready","[Link]":"ready","[Link]":"ready","skins
.[Link]":"ready","[Link]":"ready","[Link]":"ready","ext.w
[Link]":"ready","[Link]":"ready",

"[Link]":"ready","[Link]":"ready","[Link]":"ready"};RLPAG
EMODULES=["[Link]-
enhancements","[Link]","[Link]","site","[Link]","[Link]
lapsible","[Link]","[Link]","[Link]","[Link]","ext.
[Link]","[Link]","[Link]","[Link]
ar","[Link]","[Link]","[Link]","[Link]","[Link]
[Link]","[Link]","[Link]","[Link]
Logging","[Link]","[Link]","[Link]","[Link]
aigns","[Link]","[Link]-
2022","[Link]","[Link]"];</script>

<script>(RLQ=[Link]||[]).push(function(){[Link](function()
{return["[Link]@12s5i",function($,jQuery,require,module)
{[Link]({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});

}];});});</script>

<link rel="stylesheet" href="/w/[Link]?lang=en&amp;modules=[Link]


%[Link]%2Cicons%[Link]%2CwikimediaBadges%[Link]
%[Link]%[Link]
%[Link]%[Link]%[Link]%2Cstyles
%[Link]%[Link]&amp;only=styles&amp;skin=vector-
2022">
<script async="" src="/w/[Link]?
lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script>

<style>

.mw-spinner{position:relative}.mw-spinner > .mw-spinner-container{transform-origin:0 0}.mw-


spinner-small{width:20px;height:20px}.mw-spinner-small > .mw-spinner-
container{transform:scale(0.3125)}.mw-spinner-large{width:32px;height:32px}.mw-spinner-large
> .mw-spinner-container{transform:scale(0.5)}.mw-spinner-block{display:block;width:100%;text-
align:center}.mw-spinner-block > .mw-spinner-container{display:inline-block;vertical-align:top}.mw-
[Link]-spinner-small > .mw-spinner-container{min-width:20px}.[Link]-
spinner-large > .mw-spinner-container{min-width:32px}.mw-spinner-inline{display:inline-
block;vertical-align:middle} .mw-spinner-container > div{transform-origin:32px 32px;animation:mw-
spinner 1.2s linear infinite}.mw-spinner-container > div::after{content:'
';display:block;position:absolute;top:3px; left:29px;width:5px;height:14px;border-
radius:20%;background:#000}.mw-spinner-container > div:nth-child(1)
{transform:rotate(0deg);animation-delay:-1.1s}.mw-spinner-container > div:nth-child(2)
{transform:rotate(30deg);animation-delay:-1s}.mw-spinner-container > div:nth-child(3)
{transform:rotate(60deg);animation-delay:-0.9s}.mw-spinner-container > div:nth-child(4)
{transform:rotate(90deg);animation-delay:-0.8s}.mw-spinner-container > div:nth-child(5)
{transform:rotate(120deg);animation-delay:-0.7s}.mw-spinner-container > div:nth-child(6)
{transform:rotate(150deg);animation-delay:-0.6s}.mw-spinner-container > div:nth-child(7)
{transform:rotate(180deg);animation-delay:-0.5s}.mw-spinner-container > div:nth-child(8)
{transform:rotate(210deg);animation-delay:-0.4s}.mw-spinner-container > div:nth-child(9)
{transform:rotate(240deg);animation-delay:-0.3s}.mw-spinner-container > div:nth-child(10)
{transform:rotate(270deg);animation-delay:-0.2s}.mw-spinner-container > div:nth-child(11)
{transform:rotate(300deg);animation-delay:-0.1s}.mw-spinner-container > div:nth-child(12)
{transform:rotate(330deg);animation-delay:0s}@keyframes mw-spinner{0%{opacity:1}100%
{opacity:0}}

.diff{border:0;border-spacing:4px;margin:0;width:100%; table-layout:fixed}.diff td{padding:0.33em


0.5em}.diff [Link]-marker{ padding:0.25em;text-align:right;font-weight:bold;font-size:1.25em;line-
height:1.2}.diff [Link]-marker::before{content:attr(data-marker)}.diff td div{ word-wrap:break-
word}.diff [Link]-marker{width:2%}.diff .diff-content{width:48%}.diff-title{vertical-align:top}.diff-
notice,.diff-multi,.diff-otitle,.diff-ntitle{text-align:center}.diff-lineno{font-weight:bold;-webkit-user-
select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mw-diff-inline-added
ins,.mw-diff-inline-changed ins,.mw-diff-inline-moved ins,.mw-diff-inline-deleted ins,.mw-diff-inline-
added del,.mw-diff-inline-changed del,.mw-diff-inline-moved del,.mw-diff-inline-deleted
del{padding:0.3em 1px;text-decoration:none;white-space:break-spaces}@media only screen and
(max-width:720px){.client-js .mw-diff-inline-added ins,.client-js .mw-diff-inline-changed ins,.client-
js .mw-diff-inline-moved ins,.client-js .mw-diff-inline-deleted ins,.client-js .mw-diff-inline-added
del,.client-js .mw-diff-inline-changed del,.client-js .mw-diff-inline-moved del,.client-js .mw-diff-inline-
deleted del{cursor:pointer}}.mw-diff-inline-added ins,.mw-diff-inline-changed ins,.mw-diff-inline-
moved ins{background:#a3d3ff}.mw-diff-inline-deleted del,.mw-diff-inline-changed del,.mw-diff-
inline-moved del{background:#ffe49c}.mw-diff-table-prefix{display:flex;justify-content:flex-end;align-
items:center;margin:1em 0}.mw-diff-table-prefix .mw-diff-inline-legend{margin-right:auto}.mw-diff-
table-prefix .mw-diff-inline-legend .mw-diff-inline-legend-ins,.mw-diff-table-prefix .mw-diff-inline-
legend .mw-diff-inline-legend-del{display:inline-block;padding:4px 6px}.mw-diff-table-prefix .mw-
diff-inline-legend .mw-diff-inline-legend-ins{background:#a3d3ff}.mw-diff-table-prefix .mw-diff-
inline-legend .mw-diff-inline-legend-del{background:#ffe49c}.mw-diff-table-prefix .mw-diffPage-
inlineToggle-container{margin-left:1em}.diff-addedline,.diff-deletedline,.diff-context{vertical-
align:top;border-style:solid;border-width:1px 1px 1px 4px;border-radius:0.33em}.diff-addedline,.diff-
deletedline,.diff-context,.mw-diff-inline-added,.mw-diff-inline-deleted,.mw-diff-inline-moved,.mw-
diff-inline-changed,.mw-diff-inline-context{ font-size:13px; -moz-tab-size:4; tab-size:4;line-
height:1.6;white-space:pre-wrap;white-space:break-spaces}.diff-editfont-monospace .diff-
addedline,.diff-editfont-monospace .diff-deletedline,.diff-editfont-monospace .diff-context,.diff-
editfont-monospace .mw-diff-inline-added,.diff-editfont-monospace .mw-diff-inline-deleted,.diff-
editfont-monospace .mw-diff-inline-moved,.diff-editfont-monospace .mw-diff-inline-changed,.diff-
editfont-monospace .mw-diff-inline-context{font-family:monospace,monospace}.diff-editfont-sans-
serif .diff-addedline,.diff-editfont-sans-serif .diff-deletedline,.diff-editfont-sans-serif .diff-context,.diff-
editfont-sans-serif .mw-diff-inline-added,.diff-editfont-sans-serif .mw-diff-inline-deleted,.diff-editfont-
sans-serif .mw-diff-inline-moved,.diff-editfont-sans-serif .mw-diff-inline-changed,.diff-editfont-sans-
serif .mw-diff-inline-context{font-family:sans-serif}.diff-editfont-serif .diff-addedline,.diff-editfont-
serif .diff-deletedline,.diff-editfont-serif .diff-context,.diff-editfont-serif .mw-diff-inline-added,.diff-
editfont-serif .mw-diff-inline-deleted,.diff-editfont-serif .mw-diff-inline-moved,.diff-editfont-
serif .mw-diff-inline-changed,.diff-editfont-serif .mw-diff-inline-context{font-family:serif}.mw-diff-
inline-header{font-weight:bold;margin:1em 0}.diff-context{background:var(--background-color-
neutral-subtle,#f8f9fa);color:var(--color-base,#202122);border-color:var(--border-color-
muted,#eaecf0)}.diff-addedline{border-color:#a3d3ff}.diff-deletedline{border-
color:#ffe49c}.diffchange{font-weight:bold;text-decoration:none}.diff-addedline .diffchange,.diff-
deletedline .diffchange{border-radius:0.33em;padding:0.25em 0}.diff-
addedline .diffchange{background:#d8ecff}.diff-deletedline .diffchange{background:#feeec8} .diff-
currentversion-title,.diff{direction:ltr;unicode-bidi:embed}.diff-contentalign-right
td{ direction:rtl;unicode-bidi:embed}.diff-contentalign-left td{ direction:ltr;unicode-bidi:embed}.diff-
multi,.diff-otitle,.diff-ntitle,.diff-lineno{direction:ltr !important; unicode-bidi:embed}.mw-diff-slot-
header{text-align:center}.mw-diff-slot-error{text-align:center;color:var(--color-error,#d73333)} .mw-
diff-movedpara-left,.mw-diff-movedpara-right,.mw-diff-movedpara-left:visited,.mw-diff-movedpara-
right:visited,.mw-diff-movedpara-left:active,.mw-diff-movedpara-
right:active{display:block;color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-
user-select:none;user-select:none}.mw-diff-movedpara-left:hover,.mw-diff-movedpara-
right:hover{text-decoration:none;color:transparent}.mw-diff-movedpara-left::after,.mw-diff-
movedpara-right::after{display:block;color:#202122;margin-top:-1.25em}.mw-diff-movedpara-
left::after,.rtl .mw-diff-movedpara-right::after{content:'↪'}.mw-diff-movedpara-right::after,.rtl .mw-
diff-movedpara-left::after{content:'↩'}#mw-inlinediff-header #mw-diff-otitle1,#mw-inlinediff-header
#mw-diff-otitle2,#mw-inlinediff-header #mw-diff-otitle3,#mw-inlinediff-header #mw-diff-
otitle5{display:none} .diff[data-selected-side='deleted'] .diff-side-added,.diff[data-selected-
side='added'] .diff-side-deleted{-webkit-user-select:none;-moz-user-select:none;-ms-user-
select:none;user-select:none;cursor:text} .[Link]-diff-empty-line::after,.mw-diff-
[Link]-diff-empty-line::after,.mw-inline-diff-newline::after{font-
family:'Menlo','Consolas','Liberation Mono','Fira Code','Courier New',monospace;font-
size:87.5%;padding:0 3px;display:inline-block;color:var(--color-subtle,#54595d)}.mw-diff-inline-
[Link]-diff-empty-line::after,.mw-inline-diff-newline::after{content:'↲
newline';background:#a3d3ff}.[Link]-diff-empty-line::after{content:'⟵
delete';background:#ffe49c}.mw-diffPage-inlineToggle-container .oo-ui-fieldLayout-body{align-
items:center;white-space:nowrap}.mw-diff-empty-line ins,.mw-diff-empty-line del{display:none}.mw-
diff-usermetadata,.mw-diff-revision-history-links{display:none}@media only screen and (max-
width:720px){.mw-diff-inline-legend{display:none}}
@media print {

[Link]-context,[Link]-addedline .diffchange,[Link]-deletedline .diffchange{background-


color:transparent}[Link]-addedline .diffchange{text-decoration:underline}[Link]-
deletedline .diffchange{text-decoration:line-through}}

.mw-editfont-monospace{font-family:monospace,monospace}.mw-editfont-sans-serif{font-
family:sans-serif}.mw-editfont-serif{font-family:serif} .mw-editfont-monospace,.mw-editfont-sans-
serif,.mw-editfont-serif{ font-size:13px; -moz-tab-size:4; tab-size:4; }.[Link]-ui-
textInputWidget,.[Link]-ui-textInputWidget,.[Link]-ui-
textInputWidget{font-size:inherit}.[Link]-ui-textInputWidget > .oo-ui-
inputWidget-input,.[Link]-ui-textInputWidget > .oo-ui-inputWidget-input,.mw-
[Link]-ui-textInputWidget > .oo-ui-inputWidget-input{ font-size:13px}.mw-editfont-
[Link]-ui-textInputWidget > [Link]-ui-inputWidget-input,.[Link]-ui-
textInputWidget > [Link]-ui-inputWidget-input,.[Link]-ui-textInputWidget >
[Link]-ui-inputWidget-input{min-height:32px}

.unpatrolled{font-weight:bold;color:#d73333} .newpage,.minoredit,.botedit{font-weight:bold} .mw-


userlink{word-wrap:break-word; -webkit-hyphens:auto;hyphens:auto; unicode-bidi:embed} .mw-
tempuserlink{background-color:#eaecf0;padding:2px 8px;border-radius:2px} [Link]{font-
style:italic;unicode-bidi:-moz-isolate;unicode-bidi:isolate;word-wrap:break-word;overflow-
wrap:break-word;word-break:break-word} .autocomment,.autocomment a,.autocomment
a:visited{color:#72777d} li [Link],[Link]-deleted{text-decoration:line-
through;color:#72777d;font-style:italic}[Link]-history-suppressed{ text-decoration-
style:double;color:#202122} [Link]-revdelundel-link,[Link]-revdelundel-link{font-
size:90%}.mw-usertoollinks-contribs-no-edits{color:var(--color-link-red,#d73333)}.mw-usertoollinks-
contribs-no-edits:visited{color:var(--color-link-red--visited,#a55858)} .mw-changeslist-
separator:empty::before{content:'. .'} .mw-changeslist-separator--semicolon::before{content:';'}.mw-
rollback-link::before{content:'['}.mw-rollback-link::after{content:']'}.mw-diff-edit::before,.mw-diff-
tool::before,.mw-diff-undo::before,.comment--without-parentheses::before,.mw-changeslist-
links::before,.mw-diff-bytes::before,.mw-tag-markers::before,.mw-uctop::before{content:'('}.mw-diff-
edit::after,.mw-diff-tool::after,.mw-diff-undo::after,.comment--without-parentheses::after,.mw-
changeslist-links::after,.mw-diff-bytes::after,.mw-tag-markers::after,.mw-uctop::after{content:')'}.mw-
comment-none{display:block;position:absolute !important;
clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-
1px;border:0;padding:0;overflow:hidden}.mw-changeslist-links{display:inline-block}.mw-changeslist-
links > span:not(:first-child)::before{content:' | '}.mw-changeslist-links .mw-rollback-link::before,.mw-
changeslist-links .mw-rollback-link::after{content:''}.mw-tag-marker::after{content:','}.mw-tag-
marker:last-child::after{content:''}

.oo-ui-icon-add,.mw-ui-icon-add:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E add %3C/title%3E%3Cpath d=%22M11 9V4H9v5H4v2h5v5h2v-5h5V9z
%22/%3E%3C/svg%3E")}.[Link]-ui-icon-add,.mw-ui-icon-add-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E add %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M11
9V4H9v5H4v2h5v5h2v-5h5V9z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-
icon-add,.mw-ui-icon-add-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E add %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M11
9V4H9v5H4v2h5v5h2v-5h5V9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-browser,.mw-ui-icon-
browser:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E browser %3C/title%3E%3Cpath d=%22M2 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2
2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm2 1.5A1.5 1.5 0 1 1 2.5 5 1.5 1.5 0 0 1 4 3.5M18 16H2V8h16z
%22/%3E%3C/svg%3E")}.[Link]-ui-icon-browser,.mw-ui-icon-browser-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E browser %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M2
2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm2 1.5A1.5 1.5 0 1 1 2.5 5 1.5 1.5
0 0 1 4 3.5M18 16H2V8h16z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-
browser,.mw-ui-icon-browser-progressive:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E browser %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=
%22M2 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm2 1.5A1.5 1.5 0 1 1 2.5 5
1.5 1.5 0 0 1 4 3.5M18 16H2V8h16z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-cancel,.mw-ui-
icon-cancel:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E cancel %3C/title%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0
10 0M2 10a8 8 0 0 1 1.69-4.9L14.9 16.31A8 8 0 0 1 2 10m14.31 4.9L5.1 3.69A8 8 0 0 1 16.31
14.9%22/%3E%3C/svg%3E")}.[Link]-ui-icon-cancel,.mw-ui-icon-cancel-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E cancel %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M10
0a10 10 0 1 0 10 10A10 10 0 0 0 10 0M2 10a8 8 0 0 1 1.69-4.9L14.9 16.31A8 8 0 0 1 2 10m14.31
4.9L5.1 3.69A8 8 0 0 1 16.31 14.9%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-
icon-cancel,.mw-ui-icon-cancel-progressive:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E cancel %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=
%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0M2 10a8 8 0 0 1 1.69-4.9L14.9 16.31A8 8 0 0 1 2
10m14.31 4.9L5.1 3.69A8 8 0 0 1 16.31 14.9%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-cancel,.mw-ui-icon-cancel-destructive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E cancel %3C/title%3E%3Cg
fill=%22%23d73333%22%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0M2 10a8 8 0 0
1 1.69-4.9L14.9 16.31A8 8 0 0 1 2 10m14.31 4.9L5.1 3.69A8 8 0 0 1 16.31 14.9%22/%3E%3C/g%3E
%3C/svg%3E")}.oo-ui-icon-check,.mw-ui-icon-check:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cpath d=%22M7 14.2 2.8 10l-1.4
1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-check,.mw-ui-icon-
check-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M7 14.2
2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-
icon-check,.mw-ui-icon-check-progressive:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=
%22M7 14.2 2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-check,.mw-ui-icon-check-destructive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg
fill=%22%23d73333%22%3E%3Cpath d=%22M7 14.2 2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E
%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-check,.mw-ui-icon-check-
success:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E check %3C/title%3E%3Cg fill=%22%2314866d%22%3E%3Cpath d=%22M7
14.2 2.8 10l-1.4 1.4L7 17 19 5l-1.4-1.4z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-checkAll,.mw-
ui-icon-checkAll:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E check all %3C/title%3E%3Cpath d=%22m.29 12.71 1.42-1.42 2.22 2.22
8.3-10.14 1.54 1.26-9.7 11.86zM12 10h5v2h-5zm-3 4h5v2H9zm6-8h5v2h-5z%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-checkAll,.mw-ui-icon-checkAll-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E check all %3C/title%3E
%3Cg fill=%22%23fff%22%3E%3Cpath d=%22m.29 12.71 1.42-1.42 2.22 2.22 8.3-10.14 1.54 1.26-9.7
11.86zM12 10h5v2h-5zm-3 4h5v2H9zm6-8h5v2h-5z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-checkAll,.mw-ui-icon-checkAll-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E check all %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22m.29 12.71 1.42-1.42 2.22 2.22 8.3-10.14 1.54 1.26-
9.7 11.86zM12 10h5v2h-5zm-3 4h5v2H9zm6-8h5v2h-5z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
icon-clear,.mw-ui-icon-clear:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E clear %3C/title%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10
0m5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-
4.24 1.41 1.41L11.41 10z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-clear,.mw-ui-icon-
clear-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E clear %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M10
0a10 10 0 1 0 10 10A10 10 0 0 0 10 0m5.66 14.24-1.41 1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10
4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41 10z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-clear,.mw-ui-icon-clear-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E clear %3C/title%3E%3Cg
fill=%22%2336c%22%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0m5.66 14.24-1.41
1.41L10 11.41l-4.24 4.25-1.42-1.42L8.59 10 4.34 5.76l1.42-1.42L10 8.59l4.24-4.24 1.41 1.41L11.41
10z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-clock,.mw-ui-icon-clock:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E clock %3C/title%3E
%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0m2.5 14.5L9 11V4h2v6l3 3z%22/%3E
%3C/svg%3E")}.[Link]-ui-icon-clock,.mw-ui-icon-clock-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E clock %3C/title%3E%3Cg
fill=%22%23fff%22%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0m2.5 14.5L9
11V4h2v6l3 3z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-clock,.mw-ui-
icon-clock-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E clock %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10 0a10
10 0 1 0 10 10A10 10 0 0 0 10 0m2.5 14.5L9 11V4h2v6l3 3z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
icon-close,.mw-ui-icon-close:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E close %3C/title%3E%3Cpath d=%22m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z
%22/%3E%3Cpath d=%22M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z%22/%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-close,.mw-ui-icon-close-invert:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E close %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22m4.3 2.9 12.8 12.8-1.4 1.4L2.9 4.3z%22/%3E%3Cpath d=%22M17.1 4.3 4.3 17.1l-1.4-1.4L15.7
2.9z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-close,.mw-ui-icon-close-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E close %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22m4.3
2.9 12.8 12.8-1.4 1.4L2.9 4.3z%22/%3E%3Cpath d=%22M17.1 4.3 4.3 17.1l-1.4-1.4L15.7 2.9z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-ellipsis,.mw-ui-icon-ellipsis:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E ellipsis %3C/title%3E
%3Ccircle cx=%2210%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%223%22 cy=%2210%22 r=
%222%22/%3E%3Ccircle cx=%2217%22 cy=%2210%22 r=%222%22/%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-ellipsis,.mw-ui-icon-ellipsis-invert:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E ellipsis %3C/title%3E%3Cg fill=%22%23fff%22%3E
%3Ccircle cx=%2210%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%223%22 cy=%2210%22 r=
%222%22/%3E%3Ccircle cx=%2217%22 cy=%2210%22 r=%222%22/%3E%3C/g%3E%3C/svg
%3E")}.[Link]-ui-icon-ellipsis,.mw-ui-icon-ellipsis-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E ellipsis %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Ccircle cx=
%2210%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%223%22 cy=%2210%22 r=%222%22/%3E
%3Ccircle cx=%2217%22 cy=%2210%22 r=%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-
verticalEllipsis,.mw-ui-icon-verticalEllipsis:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E vertical ellipsis %3C/title%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=
%222%22/%3E%3Ccircle cx=%2210%22 cy=%223%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=
%2217%22 r=%222%22/%3E%3C/svg%3E")}.[Link]-ui-icon-verticalEllipsis,.mw-ui-
icon-verticalEllipsis-invert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E vertical ellipsis %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Ccircle cx=
%2210%22 cy=%2210%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%223%22 r=%222%22/%3E
%3Ccircle cx=%2210%22 cy=%2217%22 r=%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-verticalEllipsis,.mw-ui-icon-verticalEllipsis-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E vertical ellipsis %3C/title
%3E%3Cg fill=%22%2336c%22%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=%222%22/%3E%3Ccircle
cx=%2210%22 cy=%223%22 r=%222%22/%3E%3Ccircle cx=%2210%22 cy=%2217%22 r=
%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-feedback,.mw-ui-icon-
feedback:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E feedback %3C/title%3E%3Cpath d=%22M19 16 2 12a3.83 3.83 0 0 1-1-
2.5A3.83 3.83 0 0 1 2 7l17-4z%22/%3E%3Crect width=%224%22 height=%228%22 x=%224%22 y=
%229%22 rx=%222%22/%3E%3C/svg%3E")}.[Link]-ui-icon-feedback,.mw-ui-icon-
feedback-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E feedback %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M19
16 2 12a3.83 3.83 0 0 1-1-2.5A3.83 3.83 0 0 1 2 7l17-4z%22/%3E%3Crect width=%224%22 height=
%228%22 x=%224%22 y=%229%22 rx=%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-feedback,.mw-ui-icon-feedback-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E feedback %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M19 16 2 12a3.83 3.83 0 0 1-1-2.5A3.83 3.83 0 0 1 2
7l17-4z%22/%3E%3Crect width=%224%22 height=%228%22 x=%224%22 y=%229%22 rx=
%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-funnel,.mw-ui-icon-funnel:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E funnel %3C/title%3E
%3Cpath d=%22M10 13 1 1h18z%22/%3E%3Cpath d=%22M8 9v8l4 2V9z%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-funnel,.mw-ui-icon-funnel-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E funnel %3C/title%3E
%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M10 13 1 1h18z%22/%3E%3Cpath d=%22M8 9v8l4
2V9z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-funnel,.mw-ui-icon-
funnel-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E funnel %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10
13 1 1h18z%22/%3E%3Cpath d=%22M8 9v8l4 2V9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-funnel,.mw-ui-icon-funnel-destructive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E funnel %3C/title%3E
%3Cg fill=%22%23d73333%22%3E%3Cpath d=%22M10 13 1 1h18z%22/%3E%3Cpath d=%22M8
9v8l4 2V9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-hand,.mw-ui-icon-
hand:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E hand %3C/title%3E%3Cpath d=%22M18 4.6V17c0 1.9-.5 3-2.4 3H9.5c-.9
0-1.8-.4-2.4-1l-4.6-5-.5-1c0-1 .5-1 .5-1 .3 0 .6 0 1 .2L7 14V3.3C7 2.6 7.3 2 8 2c.6 0 1 .7 1
1.4V9h1V1.2c0-.6.3-1.2 1-1.2s1 .6 1 1.3V9h1V2c0-.7.3-1.3 1-1.3s1 .6 1 1.3v7h1V4.6c0-.7.3-1.3 1-
1.3s1 .6 1 1.3%22/%3E%3C/svg%3E")}.[Link]-ui-icon-hand,.mw-ui-icon-hand-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E hand %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M18
4.6V17c0 1.9-.5 3-2.4 3H9.5c-.9 0-1.8-.4-2.4-1l-4.6-5-.5-1c0-1 .5-1 .5-1 .3 0 .6 0 1 .2L7 14V3.3C7 2.6
7.3 2 8 2c.6 0 1 .7 1 1.4V9h1V1.2c0-.6.3-1.2 1-1.2s1 .6 1 1.3V9h1V2c0-.7.3-1.3 1-1.3s1 .6 1
1.3v7h1V4.6c0-.7.3-1.3 1-1.3s1 .6 1 1.3%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-hand,.mw-ui-icon-hand-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E hand %3C/title%3E%3Cg
fill=%22%2336c%22%3E%3Cpath d=%22M18 4.6V17c0 1.9-.5 3-2.4 3H9.5c-.9 0-1.8-.4-2.4-1l-4.6-5-.5-
1c0-1 .5-1 .5-1 .3 0 .6 0 1 .2L7 14V3.3C7 2.6 7.3 2 8 2c.6 0 1 .7 1 1.4V9h1V1.2c0-.6.3-1.2 1-1.2s1 .6 1
1.3V9h1V2c0-.7.3-1.3 1-1.3s1 .6 1 1.3v7h1V4.6c0-.7.3-1.3 1-1.3s1 .6 1
1.3%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-hand,.mw-ui-icon-hand-
destructive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E hand %3C/title%3E%3Cg fill=%22%23d73333%22%3E%3Cpath d=
%22M18 4.6V17c0 1.9-.5 3-2.4 3H9.5c-.9 0-1.8-.4-2.4-1l-4.6-5-.5-1c0-1 .5-1 .5-1 .3 0 .6 0 1 .2L7
14V3.3C7 2.6 7.3 2 8 2c.6 0 1 .7 1 1.4V9h1V1.2c0-.6.3-1.2 1-1.2s1 .6 1 1.3V9h1V2c0-.7.3-1.3 1-
1.3s1 .6 1 1.3v7h1V4.6c0-.7.3-1.3 1-1.3s1 .6 1 1.3%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-
heart,.mw-ui-icon-heart:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E heart %3C/title%3E%3Cpath d=%22M14.75 1A5.24 5.24 0 0 0 10 4 5.24 5.24
0 0 0 0 6.25C0 11.75 10 19 10 19s10-7.25 10-12.75A5.25 5.25 0 0 0 14.75 1%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-heart,.mw-ui-icon-heart-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E heart %3C/title%3E%3Cg
fill=%22%23fff%22%3E%3Cpath d=%22M14.75 1A5.24 5.24 0 0 0 10 4 5.24 5.24 0 0 0 0 6.25C0 11.75
10 19 10 19s10-7.25 10-12.75A5.25 5.25 0 0 0 14.75 1%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-heart,.mw-ui-icon-heart-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E heart %3C/title%3E%3Cg
fill=%22%2336c%22%3E%3Cpath d=%22M14.75 1A5.24 5.24 0 0 0 10 4 5.24 5.24 0 0 0 0 6.25C0
11.75 10 19 10 19s10-7.25 10-12.75A5.25 5.25 0 0 0 14.75 1%22/%3E%3C/g%3E%3C/svg%3E")}.oo-
ui-icon-help,.mw-ui-icon-help:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E help %3C/title%3E%3Cpath d=%22M10.06 1C13 1 15 2.89 15 5.53a4.59 4.59
0 0 1-2.29 4.08c-1.42.92-1.82 1.53-1.82 2.71V13H8.38v-.81a3.84 3.84 0 0 1 2-3.84c1.34-.9 1.79-1.53
1.79-2.71a2.1 2.1 0 0 0-2.08-2.14h-.17a2.3 2.3 0 0 0-2.38 2.22v.17H5A4.71 4.71 0 0 1 9.51 1a5 5 0 0 1
.55 0%22/%3E%3Ccircle cx=%2210%22 cy=%2217%22 r=%222%22/%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-help,.mw-ui-icon-help-invert:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E help %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M10.06 1C13 1 15 2.89 15 5.53a4.59 4.59 0 0 1-2.29 4.08c-1.42.92-1.82 1.53-1.82
2.71V13H8.38v-.81a3.84 3.84 0 0 1 2-3.84c1.34-.9 1.79-1.53 1.79-2.71a2.1 2.1 0 0 0-2.08-
2.14h-.17a2.3 2.3 0 0 0-2.38 2.22v.17H5A4.71 4.71 0 0 1 9.51 1a5 5 0 0 1 .55 0%22/%3E%3Ccircle cx=
%2210%22 cy=%2217%22 r=%222%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-
icon-help,.mw-ui-icon-help-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E help %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10.06
1C13 1 15 2.89 15 5.53a4.59 4.59 0 0 1-2.29 4.08c-1.42.92-1.82 1.53-1.82 2.71V13H8.38v-.81a3.84
3.84 0 0 1 2-3.84c1.34-.9 1.79-1.53 1.79-2.71a2.1 2.1 0 0 0-2.08-2.14h-.17a2.3 2.3 0 0 0-2.38
2.22v.17H5A4.71 4.71 0 0 1 9.51 1a5 5 0 0 1 .55 0%22/%3E%3Ccircle cx=%2210%22 cy=%2217%22 r=
%222%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-helpNotice,.mw-ui-icon-
helpNotice:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E help %3C/title%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0
10 0m1 16H9v-2h2zm2.71-7.6a2.6 2.6 0 0 1-.33.74 3.2 3.2 0 0
1-.48.55l-.54.48c-.21.18-.41.35-.58.52a2.5 2.5 0 0 0-.47.56A2.3 2.3 0 0 0 11 12a3.8 3.8 0 0 0-.11
1H9.08a9 9 0 0 1 .07-1.25 3.3 3.3 0 0 1 .25-.9 2.8 2.8 0 0 1 .41-.67 4 4 0 0
1 .58-.58c.17-.16.34-.3.51-.44a3 3 0 0 0 .43-.44 1.8 1.8 0 0 0 .3-.55 2 2 0 0 0 .11-.72 2.1 2.1 0 0
0-.17-.86 1.7 1.7 0 0 0-1-.9 1.7 1.7 0 0 0-.5-.1 1.77 1.77 0 0 0-1.53.68 3 3 0 0 0-.5 1.82H6.16a4.7 4.7 0
0 1 .28-1.68 3.6 3.6 0 0 1 .8-1.29 3.9 3.9 0 0 1 1.28-.83A4.6 4.6 0 0 1 10.18 4a4.4 4.4 0 0 1 1.44.23 3.5
3.5 0 0 1 1.15.65 3.1 3.1 0 0 1 .78 1.06 3.5 3.5 0 0 1 .29 1.45 3.4 3.4 0 0 1-.13 1.01%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-helpNotice,.mw-ui-icon-helpNotice-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E help %3C/title%3E%3Cg
fill=%22%23fff%22%3E%3Cpath d=%22M10 0a10 10 0 1 0 10 10A10 10 0 0 0 10 0m1 16H9v-
2h2zm2.71-7.6a2.6 2.6 0 0 1-.33.74 3.2 3.2 0 0 1-.48.55l-.54.48c-.21.18-.41.35-.58.52a2.5 2.5 0 0
0-.47.56A2.3 2.3 0 0 0 11 12a3.8 3.8 0 0 0-.11 1H9.08a9 9 0 0 1 .07-1.25 3.3 3.3 0 0 1 .25-.9 2.8 2.8 0
0 1 .41-.67 4 4 0 0 1 .58-.58c.17-.16.34-.3.51-.44a3 3 0 0 0 .43-.44 1.8 1.8 0 0 0 .3-.55 2 2 0 0 0 .11-.72
2.1 2.1 0 0 0-.17-.86 1.7 1.7 0 0 0-1-.9 1.7 1.7 0 0 0-.5-.1 1.77 1.77 0 0 0-1.53.68 3 3 0 0 0-.5
1.82H6.16a4.7 4.7 0 0 1 .28-1.68 3.6 3.6 0 0 1 .8-1.29 3.9 3.9 0 0 1 1.28-.83A4.6 4.6 0 0 1 10.18 4a4.4
4.4 0 0 1 1.44.23 3.5 3.5 0 0 1 1.15.65 3.1 3.1 0 0 1 .78 1.06 3.5 3.5 0 0 1 .29 1.45 3.4 3.4 0 0 1-.13
1.01%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-helpNotice,.mw-ui-icon-
helpNotice-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E help %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10 0a10
10 0 1 0 10 10A10 10 0 0 0 10 0m1 16H9v-2h2zm2.71-7.6a2.6 2.6 0 0 1-.33.74 3.2 3.2 0 0
1-.48.55l-.54.48c-.21.18-.41.35-.58.52a2.5 2.5 0 0 0-.47.56A2.3 2.3 0 0 0 11 12a3.8 3.8 0 0 0-.11
1H9.08a9 9 0 0 1 .07-1.25 3.3 3.3 0 0 1 .25-.9 2.8 2.8 0 0 1 .41-.67 4 4 0 0
1 .58-.58c.17-.16.34-.3.51-.44a3 3 0 0 0 .43-.44 1.8 1.8 0 0 0 .3-.55 2 2 0 0 0 .11-.72 2.1 2.1 0 0
0-.17-.86 1.7 1.7 0 0 0-1-.9 1.7 1.7 0 0 0-.5-.1 1.77 1.77 0 0 0-1.53.68 3 3 0 0 0-.5 1.82H6.16a4.7 4.7 0
0 1 .28-1.68 3.6 3.6 0 0 1 .8-1.29 3.9 3.9 0 0 1 1.28-.83A4.6 4.6 0 0 1 10.18 4a4.4 4.4 0 0 1 1.44.23 3.5
3.5 0 0 1 1.15.65 3.1 3.1 0 0 1 .78 1.06 3.5 3.5 0 0 1 .29 1.45 3.4 3.4 0 0 1-.13 1.01%22/%3E%3C/g%3E
%3C/svg%3E")}.oo-ui-icon-home,.mw-ui-icon-home:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E home %3C/title%3E%3Cpath d=%22M10 1 0
10h3v9h4v-4.6c0-1.47 1.31-2.66 3-2.66s3 1.19 3 2.66V19h4v-9h3z%22/%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-home,.mw-ui-icon-home-invert:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E home %3C/title%3E%3Cg fill=%22%23fff%22%3E
%3Cpath d=%22M10 1 0 10h3v9h4v-4.6c0-1.47 1.31-2.66 3-2.66s3 1.19 3 2.66V19h4v-9h3z%22/%3E
%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-home,.mw-ui-icon-home-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E home %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10 1
0 10h3v9h4v-4.6c0-1.47 1.31-2.66 3-2.66s3 1.19 3 2.66V19h4v-9h3z%22/%3E%3C/g%3E%3C/svg
%3E")}.oo-ui-icon-key,.mw-ui-icon-key:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E key %3C/title%3E%3Cpath d=%22M15 6a1.54 1.54 0 0 1-1.5-1.5 1.5 1.5 0
0 1 3 0A1.54 1.54 0 0 1 15 6m-1.5-5A5.55 5.55 0 0 0 8 6.5a6.8 6.8 0 0 0 .7 2.8L1 17v2h4v-2h2v-
2h2l3.2-3.2a6 6 0 0 0 1.3.2A5.55 5.55 0 0 0 19 6.5 5.55 5.55 0 0 0 13.5 1%22/%3E%3C/svg%3E")}.oo-
[Link]-ui-icon-key,.mw-ui-icon-key-invert:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E key %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath
d=%22M15 6a1.54 1.54 0 0 1-1.5-1.5 1.5 1.5 0 0 1 3 0A1.54 1.54 0 0 1 15 6m-1.5-5A5.55 5.55 0 0 0 8
6.5a6.8 6.8 0 0 0 .7 2.8L1 17v2h4v-2h2v-2h2l3.2-3.2a6 6 0 0 0 1.3.2A5.55 5.55 0 0 0 19 6.5 5.55 5.55
0 0 0 13.5 1%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-key,.mw-ui-icon-
key-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E key %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M15
6a1.54 1.54 0 0 1-1.5-1.5 1.5 1.5 0 0 1 3 0A1.54 1.54 0 0 1 15 6m-1.5-5A5.55 5.55 0 0 0 8 6.5a6.8 6.8
0 0 0 .7 2.8L1 17v2h4v-2h2v-2h2l3.2-3.2a6 6 0 0 0 1.3.2A5.55 5.55 0 0 0 19 6.5 5.55 5.55 0 0 0 13.5
1%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-keyboard,.mw-ui-icon-keyboard:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E keyboard %3C/title%3E
%3Cpath d=%22M0 15a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2zm9-
9h2v2H9zm0 3h2v2H9zM6 6h2v2H6zm0 3h2v2H6zm-1 5H3v-2h2zm0-3H3V9h2zm0-3H3V6h2zm9
6H6v-2h8zm0-3h-2V9h2zm0-3h-2V6h2zm3
6h-2v-2h2zm0-3h-2V9h2zm0-3h-2V6h2z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-
keyboard,.mw-ui-icon-keyboard-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E keyboard %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M0
15a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2zm9-9h2v2H9zm0 3h2v2H9zM6
6h2v2H6zm0 3h2v2H6zm-1 5H3v-2h2zm0-3H3V9h2zm0-3H3V6h2zm9 6H6v-2h8zm0-3h-2V9h2zm0-
3h-2V6h2zm3 6h-2v-2h2zm0-3h-2V9h2zm0-3h-2V6h2z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-keyboard,.mw-ui-icon-keyboard-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E keyboard %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M0 15a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-
2H2a2 2 0 0 0-2 2zm9-9h2v2H9zm0 3h2v2H9zM6 6h2v2H6zm0 3h2v2H6zm-1 5H3v-2h2zm0-
3H3V9h2zm0-3H3V6h2zm9 6H6v-2h8zm0-3h-2V9h2zm0-3h-2V6h2zm3 6h-2v-2h2zm0-3h-
2V9h2zm0-3h-2V6h2z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-lightbulb,.mw-ui-icon-
lightbulb:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E lightbulb %3C/title%3E%3Cpath d=%22M8 19a1 1 0 0 0 1 1h2a1 1 0 0 0 1-
1v-1H8zm9-12a7 7 0 1 0-12 4.9S7 14 7 15v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1c0-1 2-3.1 2-3.1A7 7 0 0
0 17 7%22/%3E%3C/svg%3E")}.[Link]-ui-icon-lightbulb,.mw-ui-icon-lightbulb-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E lightbulb %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M8
19a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-1H8zm9-12a7 7 0 1 0-12 4.9S7 14 7 15v1a1 1 0 0 0 1 1h4a1 1 0 0 0
1-1v-1c0-1 2-3.1 2-3.1A7 7 0 0 0 17 7%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-
ui-icon-lightbulb,.mw-ui-icon-lightbulb-progressive:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E lightbulb %3C/title%3E%3Cg fill=%22%2336c%22%3E
%3Cpath d=%22M8 19a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-1H8zm9-12a7 7 0 1 0-12 4.9S7 14 7 15v1a1 1 0
0 0 1 1h4a1 1 0 0 0 1-1v-1c0-1 2-3.1 2-3.1A7 7 0 0 0 17 7%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
icon-logIn,.mw-ui-icon-logIn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E log in %3C/title%3E%3Cpath d=%22M1 11v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-
2V3c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6h8V5l4.75 5L9 15v-4z%22/%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-logIn,.mw-ui-icon-logIn-invert:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E log in %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M1 11v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6h8V5l4.75 5L9 15v-
4z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-logIn,.mw-ui-icon-logIn-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E log in %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M1
11v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6h8V5l4.75 5L9 15v-4z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-logOut,.mw-ui-icon-logOut:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E log out %3C/title%3E
%3Cpath d=%22M3 3h8V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v-2H3z%22/%3E%3Cpath d=%22M13
5v4H5v2h8v4l6-5z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-logOut,.mw-ui-icon-
logOut-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E log out %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M3
3h8V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v-2H3z%22/%3E%3Cpath d=%22M13 5v4H5v2h8v4l6-5z
%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-logOut,.mw-ui-icon-logOut-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E log out %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M3
3h8V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8v-2H3z%22/%3E%3Cpath d=%22M13 5v4H5v2h8v4l6-5z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-network,.mw-ui-icon-network:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E network %3C/title%3E
%3Ccircle cx=%2210%22 cy=%2215%22 r=%222%22/%3E%3Cpath d=%22M1 7.4a12 13 0 0 1 18 0l-
1.5 1.4a10 11.1 0 0 0-15 0zm3.7 3.2a7 7.3 0 0 1 10.7 0L14 12a5 5.3 0 0 0-7.8 0z%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-network,.mw-ui-icon-network-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E network %3C/title%3E
%3Cg fill=%22%23fff%22%3E%3Ccircle cx=%2210%22 cy=%2215%22 r=%222%22/%3E%3Cpath d=
%22M1 7.4a12 13 0 0 1 18 0l-1.5 1.4a10 11.1 0 0 0-15 0zm3.7 3.2a7 7.3 0 0 1 10.7 0L14 12a5 5.3 0 0
0-7.8 0z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-network,.mw-ui-icon-
network-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E network %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Ccircle cx=
%2210%22 cy=%2215%22 r=%222%22/%3E%3Cpath d=%22M1 7.4a12 13 0 0 1 18 0l-1.5 1.4a10 11.1
0 0 0-15 0zm3.7 3.2a7 7.3 0 0 1 10.7 0L14 12a5 5.3 0 0 0-7.8 0z%22/%3E%3C/g%3E%3C/svg
%3E")}.oo-ui-icon-networkOff,.mw-ui-icon-networkOff:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E network off %3C/title%3E%3Ccircle cx=%2210%22 cy=
%2216%22 r=%222%22/%3E%3Cpath d=%22M16.4 11.6A7.1 7.1 0 0 0 12 9.1l3.4 3.4zM19 8.4A12.2
14 0 0 0 8.2 4.2L10 6a9.9 9.9 0 0 1 7.4 3.7zM3.5 2 2 3.4l2.2 2.2A13.1 13.1 0 0 0 1 8.4l1.5 1.3a10.7
10.7 0 0 1 3.2-2.6L8 9.3a7.3 7.3 0 0 0-3.3 2.3L6.1 13a5.2 5.2 0 0 1 3.6-2l6.8 7
1.5-1.5z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-networkOff,.mw-ui-icon-networkOff-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E network off %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Ccircle cx=
%2210%22 cy=%2216%22 r=%222%22/%3E%3Cpath d=%22M16.4 11.6A7.1 7.1 0 0 0 12 9.1l3.4
3.4zM19 8.4A12.2 14 0 0 0 8.2 4.2L10 6a9.9 9.9 0 0 1 7.4 3.7zM3.5 2 2 3.4l2.2 2.2A13.1 13.1 0 0 0 1
8.4l1.5 1.3a10.7 10.7 0 0 1 3.2-2.6L8 9.3a7.3 7.3 0 0 0-3.3 2.3L6.1 13a5.2 5.2 0 0 1 3.6-2l6.8 7 1.5-
1.5z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-networkOff,.mw-ui-icon-
networkOff-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E network off %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Ccircle cx=
%2210%22 cy=%2216%22 r=%222%22/%3E%3Cpath d=%22M16.4 11.6A7.1 7.1 0 0 0 12 9.1l3.4
3.4zM19 8.4A12.2 14 0 0 0 8.2 4.2L10 6a9.9 9.9 0 0 1 7.4 3.7zM3.5 2 2 3.4l2.2 2.2A13.1 13.1 0 0 0 1
8.4l1.5 1.3a10.7 10.7 0 0 1 3.2-2.6L8 9.3a7.3 7.3 0 0 0-3.3 2.3L6.1 13a5.2 5.2 0 0 1 3.6-2l6.8 7 1.5-
1.5z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-newWindow,.mw-ui-icon-
newWindow:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E new window %3C/title%3E%3Cpath d=%22M17 17H3V3h5V1H3a2 2 0 0
0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath d=%22m11 1 3.3 3.3L8.6 10l1.4 1.4
5.7-5.7L19 9V1z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-newWindow,.mw-ui-icon-
newWindow-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E new window %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M17 17H3V3h5V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath
d=%22m11 1 3.3 3.3L8.6 10l1.4 1.4 5.7-5.7L19 9V1z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-newWindow,.mw-ui-icon-newWindow-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E new window %3C/title
%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M17 17H3V3h5V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2
2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath d=%22m11 1 3.3 3.3L8.6 10l1.4 1.4 5.7-5.7L19 9V1z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-pageSettings,.mw-ui-icon-
pageSettings:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E page settings %3C/title%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=
%221.75%22/%3E%3Cpath d=%22M15 1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0
0 0-2-2m0 9.75-1.37.25a3.7 3.7 0 0 1-.38.93l.82 1.07L13 14.07l-1.12-.82a3.7 3.7 0 0 1-.93.38l-.2
1.37h-1.5L9 13.63a3.7 3.7 0 0 1-.93-.38L7 14.07 5.93 13l.82-1.12a3.7 3.7 0 0 1-.38-.88L5 10.75v-
1.5L6.37 9a3.7 3.7 0 0 1 .38-.93L5.93 7 7 5.93l1.12.82A3.7 3.7 0 0 1 9 6.37L9.25 5h1.5L11 6.37a3.7
3.7 0 0 1 .93.38L13 5.93 14.07 7l-.82 1.12a3.7 3.7 0 0 1 .38.93l1.37.2z%22/%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-pageSettings,.mw-ui-icon-pageSettings-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E page settings %3C/title
%3E%3Cg fill=%22%23fff%22%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=%221.75%22/%3E
%3Cpath d=%22M15 1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2m0 9.75-
1.37.25a3.7 3.7 0 0 1-.38.93l.82 1.07L13 14.07l-1.12-.82a3.7 3.7 0 0 1-.93.38l-.2 1.37h-1.5L9
13.63a3.7 3.7 0 0 1-.93-.38L7 14.07 5.93 13l.82-1.12a3.7 3.7 0 0 1-.38-.88L5 10.75v-1.5L6.37 9a3.7
3.7 0 0 1 .38-.93L5.93 7 7 5.93l1.12.82A3.7 3.7 0 0 1 9 6.37L9.25 5h1.5L11 6.37a3.7 3.7 0 0
1 .93.38L13 5.93 14.07 7l-.82 1.12a3.7 3.7 0 0 1 .38.93l1.37.2z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-
[Link]-ui-icon-pageSettings,.mw-ui-icon-pageSettings-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E page settings %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Ccircle cx=
%2210%22 cy=%2210%22 r=%221.75%22/%3E%3Cpath d=%22M15 1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2
2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2m0 9.75-1.37.25a3.7 3.7 0 0 1-.38.93l.82 1.07L13 14.07l-
1.12-.82a3.7 3.7 0 0 1-.93.38l-.2 1.37h-1.5L9 13.63a3.7 3.7 0 0 1-.93-.38L7 14.07 5.93 13l.82-1.12a3.7
3.7 0 0 1-.38-.88L5 10.75v-1.5L6.37 9a3.7 3.7 0 0 1 .38-.93L5.93 7 7 5.93l1.12.82A3.7 3.7 0 0 1 9
6.37L9.25 5h1.5L11 6.37a3.7 3.7 0 0 1 .93.38L13 5.93 14.07 7l-.82 1.12a3.7 3.7 0 0 1 .38.93l1.37.2z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-printer,.mw-ui-icon-printer:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E printer %3C/title%3E
%3Cpath d=%22M5 1h10v4H5zM3 6a2 2 0 0 0-2 2v7h4v4h10v-4h4V8a2 2 0 0 0-2-2zm11 12H6v-
6h8zm2-8a1 1 0 1 1 1-1 1 1 0 0 1-1 1%22/%3E%3C/svg%3E")}.[Link]-ui-icon-
printer,.mw-ui-icon-printer-invert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E printer %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M5
1h10v4H5zM3 6a2 2 0 0 0-2 2v7h4v4h10v-4h4V8a2 2 0 0 0-2-2zm11 12H6v-6h8zm2-8a1 1 0 1 1 1-1 1
1 0 0 1-1 1%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-printer,.mw-ui-
icon-printer-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E printer %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M5
1h10v4H5zM3 6a2 2 0 0 0-2 2v7h4v4h10v-4h4V8a2 2 0 0 0-2-2zm11 12H6v-6h8zm2-8a1 1 0 1 1 1-1 1
1 0 0 1-1 1%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-reload,.mw-ui-icon-
reload:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E reload %3C/title%3E%3Cpath d=%22M15.65 4.35A8 8 0 1 0 17.4 13h-
2.22a6 6 0 1 1-1-7.22L11 9h7V2z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-reload,.mw-
ui-icon-reload-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E reload %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M15.65
4.35A8 8 0 1 0 17.4 13h-2.22a6 6 0 1 1-1-7.22L11 9h7V2z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-reload,.mw-ui-icon-reload-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E reload %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M15.65 4.35A8 8 0 1 0 17.4 13h-2.22a6 6 0 1 1-1-
7.22L11 9h7V2z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-search,.mw-ui-icon-
search:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E search %3C/title%3E%3Cpath d=%22M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-
1.4 1.4zM3 8a5 5 0 1 0 10 0A5 5 0 0 0 3 8%22/%3E%3C/svg%3E")}.[Link]-ui-icon-
search,.mw-ui-icon-search-invert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E search %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M12.2
13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4zM3 8a5 5 0 1 0 10 0A5 5 0 0 0 3 8%22/%3E%3C/g%3E%3C/svg
%3E")}.[Link]-ui-icon-search,.mw-ui-icon-search-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E search %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M12.2
13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4zM3 8a5 5 0 1 0 10 0A5 5 0 0 0 3 8%22/%3E%3C/g%3E%3C/svg
%3E")}.oo-ui-icon-settings,.mw-ui-icon-settings:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link]
xmlns:xlink=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E settings %3C/title%3E%3Cg transform=%22translate%2810
10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3%22/%3E%3Cuse
xlink:href=%22%23a%22 transform=%22rotate%2845%29%22/%3E%3Cuse xlink:href=%22%23a%22
transform=%22rotate%2890%29%22/%3E%3Cuse xlink:href=%22%23a%22 transform=%22rotate
%28135%29%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5 0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5
3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7%22/%3E%3C/svg%3E")}.[Link]-ui-icon-settings,.mw-ui-
icon-settings-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] xmlns:xlink=%22[Link]
width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E settings %3C/title
%3E%3Cg fill=%22%23fff%22%3E%3Cg xmlns:xlink=%22[Link]
transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0
7h-5l1 6.5h3%22/%3E%3Cuse xlink:href=%22%23a%22 transform=%22rotate%2845%29%22/%3E
%3Cuse xlink:href=%22%23a%22 transform=%22rotate%2890%29%22/%3E%3Cuse xlink:href=
%22%23a%22 transform=%22rotate%28135%29%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5
0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7%22/%3E%3C/g%3E%3C/svg
%3E")}.[Link]-ui-icon-settings,.mw-ui-icon-settings-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] xmlns:xlink=%22[Link]
width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E settings %3C/title
%3E%3Cg fill=%22%2336c%22%3E%3Cg xmlns:xlink=%22[Link]
transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0
7h-5l1 6.5h3%22/%3E%3Cuse xlink:href=%22%23a%22 transform=%22rotate%2845%29%22/%3E
%3Cuse xlink:href=%22%23a%22 transform=%22rotate%2890%29%22/%3E%3Cuse xlink:href=
%22%23a%22 transform=%22rotate%28135%29%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5
0 0 0 0 15 7.5 7.5 0 0 0 0-15v4a3.5 3.5 0 0 1 0 7 3.5 3.5 0 0 1 0-7%22/%3E%3C/g%3E%3C/svg
%3E")}.oo-ui-icon-subtract,.mw-ui-icon-subtract:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E subtract %3C/title%3E%3Cpath d=%22M4 9h12v2H4z%22/%3E
%3C/svg%3E")}.[Link]-ui-icon-subtract,.mw-ui-icon-subtract-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E subtract %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M4
9h12v2H4z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-subtract,.mw-ui-
icon-subtract-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E subtract %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M4
9h12v2H4z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-subtract,.mw-ui-
icon-subtract-destructive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E subtract %3C/title%3E%3Cg fill=%22%23d73333%22%3E%3Cpath d=%22M4
9h12v2H4z%22/%3E%3C/g%3E%3C/svg%3E")}

.[Link]-ui-icon-wikimedia-appearance{background-image:url(/w/[Link]?
modules=[Link]&image=appearance&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-appearance-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=appearance&variant=progressive&format=original&lang=en&s
kin=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-speechBubbleAdd{background-
image:url(/w/[Link]?
modules=[Link]&image=speechBubbleAdd&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-speechBubbleAdd-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=speechBubbleAdd&variant=progressive&format=original&lang
=en&skin=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-
speechBubbles{background-image:url(/w/[Link]?
modules=[Link]&image=speechBubbles&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-speechBubbles-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=speechBubbles&variant=progressive&format=original&lang=e
n&skin=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-article{background-
image:url(/w/[Link]?
modules=[Link]&image=article&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-article-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=article&variant=progressive&format=original&lang=en&skin=v
ector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-history{background-image:url(/w/
[Link]?modules=[Link]&image=history&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-history-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=history&variant=progressive&format=original&lang=en&skin=
vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-wikiText{background-image:url(/w/
[Link]?modules=[Link]&image=wikiText&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-wikiText-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=wikiText&variant=progressive&format=original&lang=en&skin
=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-edit{background-image:url(/w/
[Link]?modules=[Link]&image=edit&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-edit-progressive{background-image:url(/w/
[Link]?
modules=[Link]&image=edit&variant=progressive&format=original&lang=en&skin=vec
tor-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-editLock{background-image:url(/w/
[Link]?modules=[Link]&image=editLock&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-editLock-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=editLock&variant=progressive&format=original&lang=en&skin
=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-exitFullscreen{background-
image:url(/w/[Link]?
modules=[Link]&image=exitFullscreen&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-exitFullscreen-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=exitFullscreen&variant=progressive&format=original&lang=en
&skin=vector-2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-fullScreen{background-
image:url(/w/[Link]?
modules=[Link]&image=fullScreen&format=original&lang=en&skin=vector-
2022&version=rjvv6)}.[Link]-ui-icon-wikimedia-fullScreen-progressive{background-
image:url(/w/[Link]?
modules=[Link]&image=fullScreen&variant=progressive&format=original&lang=en&ski
n=vector-2022&version=rjvv6)}

.cite-accessibility-label{ top:-99999px;clip:rect(1px,1px,1px,1px); position:absolute !


important;padding:0 !important;border:0 !important;height:1px !important;width:1px !important;
overflow:hidden}:target .mw-cite-targeted-backlink{font-weight:bold}.mw-cite-up-arrow-
backlink{display:none}:target .mw-cite-up-arrow-backlink{display:inline}:target .mw-cite-up-
arrow{display:none}

.ext-urlshortener-result-dialog{font-size:0.90909em}.ext-urlshortener-result-dialog a{word-
wrap:break-word}

.cdx-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-
box;min-width:32px;min-height:32px;max-width:28rem;margin:0;border-width:1px;border-
style:solid;border-radius:2px;padding-right:11px;padding-left:11px;font-family:inherit;font-
size:inherit;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-
transform:none;transition-property:background-color,color,border-color,box-shadow;transition-
duration:.1s}.cdx-button--size-large{min-width:44px;min-height:44px;padding-right:15px;padding-
left:15px}.cdx-button--icon-only{padding-right:5px;padding-left:5px}.[Link]-
button--size-large{padding-right:11px;padding-left:11px}.cdx-button::-moz-focus-
inner{border:0;padding:0}.cdx-button .cdx-button__icon,.cdx-button .cdx-icon{vertical-
align:middle}.cdx-button .cdx-icon{color:inherit}.cdx-button--fake-button,.cdx-button--fake-
button:hover,.cdx-button--fake-button:focus{text-decoration:none}.cdx-button:enabled,.cdx-
[Link]-button--fake-button--enabled{background-color:var(--background-color-interactive-
subtle,#f8f9fa);color:var(--color-base,#202122);border-color:var(--border-color-
base,#a2a9b1)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:enabled .cdx-button__icon,.[Link]-button--fake-button--enabled .cdx-
button__icon{background-color:var(--color-base,#202122)}}.cdx-button:enabled:hover,.cdx-
[Link]-button--fake-button--enabled:hover{background-color:var(--background-color-
base,#fff);color:var(--color-base--hover,#404244);cursor:pointer}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:enabled:hover .cdx-button__icon,.[Link]-
button--fake-button--enabled:hover .cdx-button__icon{background-color:var(--color-base--
hover,#404244)}}.cdx-button:enabled:active,.[Link]-button--fake-button--
enabled:active,.cdx-button:[Link]-button--is-active,.[Link]-button--fake-button--
[Link]-button--is-active{background-color:var(--background-color-
interactive,#eaecf0);color:var(--color-emphasized,#000);border-color:var(--border-color-
interactive,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:enabled:active .cdx-button__icon,.[Link]-button--fake-button--enabled:active .cdx-
button__icon,.cdx-button:[Link]-button--is-active .cdx-button__icon,.[Link]-button--
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-
emphasized,#000)}}.cdx-button:enabled:focus,.[Link]-button--fake-button--
enabled:focus{outline:1px solid transparent}.cdx-button:enabled:focus:not(:active):not(.cdx-button--
is-active),.[Link]-button--fake-button--enabled:focus:not(:active):not(.cdx-button--is-active)
{border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-
shadow-color-progressive--focus,#36c)}.cdx-button:[Link]-button--action-progressive,.cdx-
[Link]-button--action-progressive{color:var(--color-
progressive,#36c)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive .cdx-button__icon,.[Link]-button--fake-
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
progressive,#36c)}}.cdx-button:[Link]-button--action-progressive:hover,.[Link]-
[Link]-button--action-progressive:hover{color:var(--color-progressive--
hover,#447ff5);border-color:var(--border-color-progressive--hover,#447ff5)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-button--action-
progressive:hover .cdx-button__icon,.[Link]-button--
action-progressive:hover .cdx-button__icon{background-color:var(--color-progressive--
hover,#447ff5)}}.cdx-button:[Link]-button--action-progressive:active,.[Link]-button--
[Link]-button--action-progressive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--action-
[Link]-button--is-active{background-color:var(--background-color-progressive-
subtle,#eaf3ff);color:var(--color-progressive--active,#2a4b8d);border-color:var(--border-color-
progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:active .cdx-button__icon,.cdx-
button:[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-progressive--active,#2a4b8d)}}.cdx-button:[Link]-
button--action-destructive,.[Link]-button--action-
destructive{color:var(--color-destructive,#d73333)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-destructive .cdx-button__icon,.[Link]-
[Link]-button--action-destructive .cdx-button__icon{background-
color:var(--color-destructive,#d73333)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-button--action-
destructive:hover{color:var(--color-destructive--hover,#ff4242);border-color:var(--border-color-
destructive--hover,#ff4242)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:hover .cdx-button__icon{background-
color:var(--color-destructive--hover,#ff4242)}}.cdx-button:[Link]-button--action-
destructive:active,.[Link]-button--action-
destructive:active,.cdx-button:[Link]-button--is-active,.cdx-
[Link]-button--is-
active{background-color:var(--background-color-destructive-subtle,#fee7e6);color:var(--color-
destructive--active,#b32424);border-color:var(--border-color-destructive--
active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:active .cdx-button__icon,.cdx-
button:[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-destructive--active,#b32424)}}.cdx-button:[Link]-
button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-
[Link]-button--action-destructive:focus:not(:active):not(.cdx-button--is-active){border-
color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-
destructive--focus,#36c)}.cdx-button:[Link]-button--action-
progressive,.[Link]-button--
action-progressive{background-color:var(--background-color-progressive,#36c);color:var(--color-
inverted-fixed,#fff);border-color:var(--border-color-progressive,#36c)}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:[Link]-button--
action-progressive .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
inverted-fixed,#fff)}}.cdx-button:[Link]-button--action-
progressive:hover,.[Link]-
button--action-progressive:hover{background-color:var(--background-color-progressive--
hover,#447ff5);border-color:var(--border-color-progressive--hover,#447ff5)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-progressive:hover .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--action-progressive:hover .cdx-
button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:[Link]-button--
[Link]-button--action-progressive:active,.[Link]-button--fake-button--
[Link]-button--action-progressive:active,.cdx-button:[Link]-
[Link]-button--is-active,.[Link]-button--
[Link]-button--is-
active{background-color:var(--background-color-progressive--active,#2a4b8d);border-color:var(--
border-color-progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-
progressive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--action-
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-inverted-
fixed,#fff)}}.cdx-button:[Link]-button--action-
progressive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-button--
[Link]-button--action-progressive:focus:not(:active):not(.cdx-
button--is-active){border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0
1px var(--box-shadow-color-progressive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-
inverted,#fff)}.cdx-button:[Link]-button--action-destructive,.cdx-
[Link]-button--action-
destructive{background-color:var(--background-color-destructive,#d73333);color:var(--color-
inverted-fixed,#fff);border-color:var(--border-color-destructive,#d73333)}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:[Link]-button--
action-destructive .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive .cdx-button__icon{background-color:var(--color-
inverted-fixed,#fff)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-
button--action-destructive:hover{background-color:var(--background-color-destructive--
hover,#ff4242);border-color:var(--border-color-destructive--hover,#ff4242)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-destructive:hover .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--action-destructive:hover .cdx-
button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:[Link]-button--
[Link]-button--action-destructive:active,.[Link]-button--fake-button--
[Link]-button--action-destructive:active,.cdx-button:[Link]-
[Link]-button--is-active,.[Link]-button--
[Link]-button--is-
active{background-color:var(--background-color-destructive--active,#b32424);border-color:var(--
border-color-destructive--active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-
destructive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--action-
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-inverted-
fixed,#fff)}}.cdx-button:[Link]-button--action-
destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-button--
[Link]-button--action-destructive:focus:not(:active):not(.cdx-
button--is-active){border-color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0
1px var(--box-shadow-color-destructive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-
inverted,#fff)}.cdx-button:[Link]-button--weight-quiet,.[Link]-button--fake-button--
[Link]-button--weight-quiet{background-color:var(--background-color-
transparent,transparent);border-color:var(--border-color-transparent,transparent)}.cdx-
button:[Link]-button--weight-quiet:hover,.[Link]-
button--weight-quiet:hover{background-color:var(--background-color-button-quiet--
hover,rgba(0,24,73,.027))}.cdx-button:[Link]-button--weight-quiet:active,.[Link]-
[Link]-button--weight-quiet:active,.cdx-button:[Link]-button--
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-button-quiet--
active,rgba(0,24,73,.082));color:var(--color-emphasized,#000);border-color:var(--border-color-
interactive,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--weight-quiet:active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--weight-quiet:active .cdx-button__icon,.cdx-button:[Link]-button--
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--is-active .cdx-button__icon{background-color:var(--
color-emphasized,#000)}}.cdx-button:[Link]-button--action-
progressive,.[Link]-button--
action-progressive{color:var(--color-progressive,#36c)}@supports ((-webkit-mask-image:none) or
(mask-image:none)){.cdx-button:[Link]-button--action-
progressive .cdx-button__icon,.[Link]-button--weight-
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
progressive,#36c)}}.cdx-button:[Link]-button--action-
progressive:hover,.[Link]-
button--action-progressive:hover{background-color:var(--background-color-progressive-
subtle,#eaf3ff);color:var(--color-progressive--hover,#447ff5)}@supports ((-webkit-mask-image:none)
or (mask-image:none)){.cdx-button:[Link]-button--action-
progressive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:hover .cdx-button__icon{background-color:var(--color-
progressive--hover,#447ff5)}}.cdx-button:[Link]-button--action-
progressive:active,.[Link]-
button--action-progressive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-
progressive--active,#2a4b8d);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-
progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive:active .cdx-
button__icon,.[Link]-button--
action-progressive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-button--weight-
[Link]-button--action-destructive,.[Link]-button--
[Link]-button--action-destructive{color:var(--color-destructive,#d73333)}@supports ((-
webkit-mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-destructive .cdx-button__icon,.[Link]-
[Link]-button--action-destructive .cdx-button__icon{background-color:var(--color-
destructive,#d73333)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-
button--action-destructive:hover{background-color:var(--background-color-destructive-
subtle,#fee7e6);color:var(--color-destructive--hover,#ff4242)}@supports ((-webkit-mask-image:none)
or (mask-image:none)){.cdx-button:[Link]-button--action-
destructive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:hover .cdx-button__icon{background-color:var(--color-
destructive--hover,#ff4242)}}.cdx-button:[Link]-button--action-
destructive:active,.[Link]-
button--action-destructive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-
destructive--active,#b32424);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-
destructive--active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:active .cdx-
button__icon,.[Link]-button--
action-destructive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-button--weight-
[Link]-button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-
[Link]-button--action-
destructive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-
destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-destructive--
focus,#36c)}.cdx-button:disabled,.[Link]-button--fake-button--disabled{background-
color:var(--background-color-disabled,#c8ccd1);color:var(--color-inverted,#fff);border-color:var(--
border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:disabled .cdx-button__icon,.[Link]-button--fake-button--
disabled .cdx-button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-
button--weight-quiet,.[Link]-button--weight-
quiet{background-color:var(--background-color-transparent,transparent);color:var(--color-
disabled,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--weight-quiet .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--weight-quiet .cdx-button__icon{background-color:var(--color-
disabled,#72777d)}}.cdx-icon{color:var(--color-base,#202122);display:inline-flex;align-
items:center;justify-content:center;vertical-align:text-bottom}.cdx-icon
svg{fill:currentcolor;width:100%;height:100%}.cdx-icon--x-small{min-width:12px;min-
height:12px;width:.75rem;height:.75rem}.cdx-icon--small{min-width:16px;min-
height:16px;width:1rem;height:1rem}.cdx-icon--medium{min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem}.cdx-icon--flipped svg{transform:scaleX(-1)}.cdx-dialog-
backdrop{background-color:var(--background-color-backdrop-
light,rgba(255,255,255,.65));display:flex;align-items:center;justify-
content:center;position:fixed;top:0;left:0;z-index:400;min-
height:100%;width:100vw;height:100vh;height:-webkit-fill-available}.cdx-dialog{background-
color:var(--background-color-base,#fff);display:flex;flex-direction:column;box-sizing:border-
box;width:calc(100% - 2rem);max-width:32rem;max-height:calc(100vh - 2.5rem);border:var(--border-
base,1px solid #a2a9b1);border-radius:2px;box-shadow:0 2px 2px rgba(0,0,0,.2)}.cdx-
dialog__header{padding:16px 24px}.cdx-dialog__header--default{display:flex;align-
items:baseline;justify-content:flex-end;box-sizing:border-box;width:100%}.cdx-
dialog__header__title-group{display:flex;flex-grow:1;flex-direction:column;gap:6px}.cdx-
dialog__header .cdx-dialog__header__title{margin:0;border:0;padding:0;font-family:inherit;font-
size:1.125rem;font-weight:700;line-height:1.25}.cdx-dialog__header .cdx-
dialog__header__subtitle{color:var(--color-subtle,#54595d);margin:0;padding:0;font-size:1rem;line-
height:1.375}.cdx-dialog__header__close-[Link]-button{margin-right:-8px}.cdx-dialog--
dividers .cdx-dialog__header{border-bottom:var(--border-subtle,1px solid #c8ccd1)}.cdx-
dialog__body{flex-grow:1;padding:16px 24px;overflow-y:auto}.cdx-dialog__body--no-
header{padding-top:24px}.cdx-dialog__body--no-footer{padding-bottom:24px}.cdx-
dialog__body>*:first-child{margin-top:0;padding-top:0}.cdx-dialog__body>*:last-child{margin-
bottom:0;padding-bottom:0}.cdx-dialog__footer{padding:16px 24px 24px}.cdx-dialog__footer--
default{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-
between;gap:12px}.cdx-dialog__footer .cdx-dialog__footer__text{color:var(--color-
subtle,#54595d);flex:1 0 auto;width:100%;margin:0;font-size:.875rem;line-height:1.5714285}.cdx-
dialog__footer__actions{display:flex;flex-grow:1;gap:12px}.cdx-dialog--dividers .cdx-
dialog__footer{border-top:var(--border-subtle,1px solid #c8ccd1)}.cdx-dialog--horizontal-
actions .cdx-dialog__footer__actions{flex-direction:row-reverse}.cdx-dialog--vertical-actions .cdx-
dialog__footer__actions{flex-direction:column;width:100%}.cdx-dialog--vertical-actions .cdx-
dialog__footer .cdx-dialog__footer__primary-[Link]-button,.cdx-dialog--vertical-actions .cdx-
dialog__footer .cdx-dialog__footer__default-[Link]-button{max-width:none}.cdx-dialog-focus-
trap{position:absolute}.cdx-dialog-focus-trap:focus{outline:0}.cdx-dialog-fade-enter-active,.cdx-
dialog-fade-leave-active{transition-property:opacity;transition-duration:.25s;transition-timing-
function:ease}.cdx-dialog-fade-enter-from,.cdx-dialog-fade-leave-to{opacity:0}[Link]-dialog-
open{overflow:hidden}.cdx-thumbnail{display:inline-flex}.cdx-thumbnail__placeholder,.cdx-
thumbnail__image{background-position:center;background-repeat:no-repeat;background-
size:cover;flex-shrink:0;box-sizing:border-box;min-width:40px;min-
height:40px;width:2.5rem;height:2.5rem;border:var(--border-subtle,1px solid #c8ccd1);border-
radius:2px}.cdx-thumbnail__image{display:inline-block}.cdx-thumbnail__image-enter-
active{transition-property:opacity;transition-duration:.1s}.cdx-thumbnail__image-enter-
from{opacity:0}.cdx-thumbnail__placeholder{background-color:var(--background-color-interactive-
subtle,#f8f9fa);display:inline-flex;align-items:center;justify-content:center}.cdx-
thumbnail__placeholder__icon{min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not (((-webkit-mask-image:none) or (mask-image:none))){.cdx-
thumbnail__placeholder__icon{background-position:center;background-repeat:no-
repeat;background-size:max(1.25rem,20px)}}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-thumbnail__placeholder__icon{-webkit-mask-size:max(1.25rem,20px);mask-
size:max(1.25rem,20px);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center}}@supports not (((-webkit-mask-image:none) or (mask-
image:none))){.cdx-thumbnail__placeholder__icon{background-image:url('data:image/
svg+xml;utf8,<svg xmlns="[Link]
xmlns:xlink="[Link] width="20" height="20" viewBox="0 0 20 20"
fill="%23000000"><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19
5H1V3h18zm0 12H1v-2h18z"/></svg>');filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-
icon-base,.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .cdx-
thumbnail__placeholder__icon,.[Link]-button--action-progressive .cdx-
thumbnail__placeholder__icon,.[Link]-button--action-destructive .cdx-
thumbnail__placeholder__icon{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports ((-
webkit-mask-image:none) or (mask-image:none)){.cdx-thumbnail__placeholder__icon{-webkit-mask-
image:url('data:image/svg+xml;utf8,<svg xmlns="[Link]
xmlns:xlink="[Link] width="20" height="20" viewBox="0 0 20 20"
fill="%23000000"><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19
5H1V3h18zm0 12H1v-2h18z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg
xmlns="[Link] xmlns:xlink="[Link] width="20"
height="20" viewBox="0 0 20 20" fill="%23000000"><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5
3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></svg>');background-color:var(--
color-placeholder,#72777d)}}.cdx-thumbnail__placeholder__icon--[Link]-icon{color:var(--color-
placeholder,#72777d)}.cdx-search-result-title{display:inline-block;max-width:100%;font-
weight:700}.cdx-search-result-title__match{font-weight:400}.cdx-menu-item{list-
style:none;position:relative;padding:8px 12px;line-height:1.6;transition-property:background-
color,color,border-color,box-shadow;transition-duration:.1s}.cdx-menu-
item__content{display:flex;align-items:center;line-height:1.4285714;word-wrap:break-word;-webkit-
hyphens:auto;-ms-hyphens:auto;hyphens:auto}.cdx-menu-item__content,.cdx-menu-
item__content:hover{text-decoration:none}.cdx-menu-item--has-description .cdx-menu-
item__content{align-items:flex-start}.cdx-menu-item__text{max-width:100%}.cdx-menu-
item__text__description{display:block}.cdx-menu-item__thumbnail.cdx-thumbnail{margin-
right:8px}.cdx-menu-item__icon.cdx-icon{color:inherit;margin-right:8px}.cdx-menu-item--bold-
label .cdx-menu-item__text__label{font-weight:700}.cdx-menu-item--hide-description-overflow .cdx-
menu-item__text{overflow:hidden}.cdx-menu-item--hide-description-overflow .cdx-menu-
item__text__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdx-menu-
item--enabled,.cdx-menu-item--enabled .cdx-menu-item__content{color:var(--color-
base,#202122)}.cdx-menu-item--enabled .cdx-menu-item__text__supporting-text,.cdx-menu-item--
enabled .cdx-menu-item__text__description{color:var(--color-subtle,#54595d)}.cdx-menu-item--
[Link]-menu-item--highlighted{background-color:var(--background-color-
interactive,#eaecf0);cursor:pointer}.[Link]-menu-item--active{background-
color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-progressive,#36c)}.cdx-
[Link]-menu-item--active .cdx-menu-item__content,.cdx-menu-item--
[Link]-menu-item--active .cdx-menu-item__text__description{color:var(--color-
progressive,#36c)}.[Link]-menu-item--selected{background-color:var(--
background-color-progressive-subtle,#eaf3ff)}.[Link]-menu-item--
[Link]-menu-item--highlighted,.[Link]-menu-
item--highlighted .cdx-menu-item__content,.[Link]-
menu-item--highlighted .cdx-menu-item__text__description{color:var(--color-progressive,#36c)}.cdx-
menu-item--disabled{color:var(--color-disabled,#72777d);cursor:default}.cdx-menu-item--
disabled .cdx-menu-item__text__description{color:var(--color-disabled,#72777d)}.cdx-progress-
bar{box-sizing:border-box;overflow-x:hidden}.cdx-progress-
bar__bar{width:33.33%;height:100%}.cdx-progress-bar:not(.cdx-progress-bar--inline)
{position:relative;z-index:1;height:1rem;max-width:none;border:var(--border-base,1px solid
#a2a9b1);border-radius:9999px;box-shadow:0 2px 2px rgba(0,0,0,.2)}.cdx-progress-bar--
inline{width:100%;height:.25rem}.cdx-progress-bar:not(.cdx-progress-bar--disabled) .cdx-progress-
bar__bar{background-color:var(--background-color-progressive,#36c);animation-name:cdx-
animation-progress-bar__bar;animation-duration:1.6s;animation-timing-function:linear;animation-
iteration-count:infinite}.cdx-progress-bar:not(.cdx-progress-bar--disabled).cdx-progress-bar--
block{background-color:var(--background-color-base,#fff)}.cdx-progress-bar--disabled .cdx-progress-
bar__bar{background-color:var(--background-color-disabled,#c8ccd1)}.cdx-progress-bar--
disabled:not(.cdx-progress-bar--inline){background-color:var(--background-color-disabled-
subtle,#eaecf0)}@keyframes cdx-animation-progress-bar__bar{0%{transform:translate(-
100%)}to{transform:translate(300%)}}.cdx-menu{background-color:var(--background-color-
base,#fff);display:flex;flex-direction:column;position:absolute;left:0;z-index:50;box-sizing:border-
box;width:100%;border:var(--border-base,1px solid #a2a9b1);border-radius:2px;box-shadow:0 2px
2px rgba(0,0,0,.2)}.cdx-menu__progress-[Link]-progress-bar{position:absolute;top:0}.cdx-
menu__listbox{margin:0;padding:0;overflow-y:auto}.cdx-menu--has-footer .cdx-menu-item:last-of-
type{position:absolute;bottom:0;box-sizing:border-box;width:100%}.cdx-menu--has-footer .cdx-
menu-item:last-of-type:not(:first-of-type){border-top:var(--border-subtle,1px solid #c8ccd1)}.cdx-
select{box-sizing:border-box;min-width:256px;min-height:32px;border-width:1px;border-
style:solid;border-radius:2px;padding-top:4px;padding-bottom:4px;padding-left:12px;padding-
right:calc(16px + 1.25rem);font-size:inherit;line-height:1.375;-webkit-
appearance:none;appearance:none;background-position:center right 12px;background-repeat:no-
repeat;background-size:max(.75rem,12px)}.cdx-select:disabled{background-color:var(--background-
color-disabled-subtle,#eaecf0);color:var(--color-disabled,#72777d);border-color:var(--border-color-
disabled,#c8ccd1);background-image:url('data:image/svg+xml;utf8,<svg
xmlns="[Link] xmlns:xlink="[Link] width="20"
height="20" viewBox="0 0 20 20" fill="%2372777d"><path d="m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9
9-9z"/></svg>');opacity:1}.cdx-select:enabled{background-color:var(--background-color-interactive-
subtle,#f8f9fa);color:var(--color-base,#202122);border-color:var(--border-color-
base,#a2a9b1);transition-property:background-color,color,border-color,box-shadow;transition-
duration:.1s;background-image:url('data:image/svg+xml;utf8,<svg
xmlns="[Link] xmlns:xlink="[Link] width="20"
height="20" viewBox="0 0 20 20" fill="%23202122"><path d="m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9
9-9z"/></svg>')}.cdx-select:enabled:hover{background-color:var(--background-color-
base,#fff);color:var(--color-base--hover,#404244);border-color:var(--border-color-
base,#a2a9b1);cursor:pointer}.cdx-select:enabled:focus{border-color:var(--border-color-progressive--
focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c);outline:1px
solid transparent}.cdx-select:enabled:active{color:var(--color-emphasized,#000);border-color:var(--
border-color-interactive,#72777d)}.cdx-select-vue{display:inline-block;position:relative}.cdx-select-
vue__handle{box-sizing:border-box;min-width:256px;min-height:32px;border-width:1px;border-
style:solid;border-radius:2px;padding-top:4px;padding-bottom:4px;padding-left:12px;padding-
right:calc(16px + 1.25rem);font-size:inherit;line-height:1.375;position:relative;width:100%}.cdx-
select-vue--has-start-icon .cdx-select-vue__handle{padding-left:calc(20px + 1.25rem)}.cdx-select-
vue__start-[Link]-icon{position:absolute;top:50%;min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;transition-property:color;transition-
duration:.1s;left:12px;transform:translateY(-50%)}.cdx-select-vue__indicator.cdx-icon{color:var(--
color-base,#202122);position:absolute;top:50%;min-width:12px;min-
height:12px;width:.75rem;height:.75rem;transition-property:color;transition-
duration:.1s;right:12px;transform:translateY(-50%)}.cdx-select-vue--enabled .cdx-select-
vue__handle{background-color:var(--background-color-interactive-subtle,#f8f9fa);color:var(--color-
base,#202122);border-color:var(--border-color-base,#a2a9b1);transition-property:background-
color,color,border-color,box-shadow;transition-duration:.1s}.cdx-select-vue--enabled .cdx-select-
vue__handle:hover{background-color:var(--background-color-base,#fff);color:var(--color-base--
hover,#404244);border-color:var(--border-color-base,#a2a9b1);cursor:pointer}.cdx-select-vue--
enabled .cdx-select-vue__handle:focus{border-color:var(--border-color-progressive--focus,#36c);box-
shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c);outline:1px solid
transparent}.cdx-select-vue--enabled .cdx-select-vue__handle:active{color:var(--color-
emphasized,#000);border-color:var(--border-color-interactive,#72777d)}.cdx-select-vue--
enabled .cdx-select-vue__handle:hover .cdx-select-vue__indicator{color:var(--color-base--
hover,#404244)}.[Link]-select-vue--expanded .cdx-select-
vue__handle{background-color:var(--background-color-base,#fff)}.[Link]-
select-vue--expanded .cdx-select-vue__handle .cdx-select-vue__indicator{color:var(--color-
base,#202122)}.cdx-select-vue--disabled .cdx-select-vue__handle{background-color:var(--
background-color-disabled-subtle,#eaecf0);color:var(--color-disabled,#72777d);border-color:var(--
border-color-disabled,#c8ccd1);cursor:default}.cdx-select-vue--disabled .cdx-select-
vue__indicator,.cdx-select-vue--disabled .cdx-select-vue__start-icon{color:var(--color-
disabled,#72777d)}.[Link]-select-vue--enabled .cdx-select-
vue__handle{border-color:var(--border-color-error,#b32424)}.[Link]-select-
vue--enabled .cdx-select-vue__handle:hover{border-color:var(--border-color-error--
hover,#ff4242)}.[Link]-select-vue--enabled .cdx-select-
vue__handle:focus{border-color:var(--border-color-progressive--focus,#36c)}.cdx-dialog .cdx-select-
vue{position:static}.cdx-tab[aria-hidden=true]{display:none}.cdx-tab:focus{outline:1px solid
transparent}.cdx-tabs__header{display:flex;align-items:flex-end;position:relative}.cdx-tabs__prev-
scroller,.cdx-tabs__next-scroller{background-color:inherit;position:absolute;top:0;bottom:0}.cdx-
tabs__prev-scroller{left:0}.cdx-tabs__next-scroller{right:0}.cdx-tabs__prev-scroller:after,.cdx-
tabs__next-scroller:before{content:"";position:absolute;top:0;z-
index:1;width:1.5rem;height:100%;pointer-events:none}.cdx-tabs__prev-
scroller:after{left:100%}.cdx-tabs__next-scroller:before{right:100%}.cdx-tabs__scroll-[Link]-
button{height:100%}.cdx-tabs__list{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-
overflow-scrolling:touch}.cdx-tabs__list::-webkit-scrollbar{-webkit-
appearance:none;display:none}.cdx-tabs__list__item{background-color:var(--background-color-
transparent,transparent);display:block;flex:0 0 auto;max-width:16rem;border-width:0;border-top-
left-radius:2px;border-top-right-radius:2px;padding:4px 12px;font-size:1rem;font-weight:700;line-
height:1.4285714;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-
space:nowrap;transition-property:background-color,color,border-color,box-shadow;transition-
duration:.1s}.cdx-tabs__list__item:hover{cursor:pointer}.cdx-tabs__list__item[aria-selected=true]
{cursor:default}.cdx-tabs>.cdx-tabs__header .cdx-tabs__list__item+.cdx-tabs__list__item{margin-
left:0}.cdx-tabs--framed>.cdx-tabs__header{background-color:var(--background-color-
interactive,#eaecf0)}.cdx-tabs--framed>.cdx-tabs__header .cdx-tabs__prev-
scroller:after{background-image:linear-gradient(to right,var(--background-color-interactive,#eaecf0)
0,var(--background-color-transparent,transparent) 100%)}.cdx-tabs--framed>.cdx-tabs__header .cdx-
tabs__next-scroller:before{background-image:linear-gradient(to left,var(--background-color-
interactive,#eaecf0) 0,var(--background-color-transparent,transparent) 100%)}.cdx-tabs--
framed>.cdx-tabs__header .cdx-tabs__list__item{color:var(--color-base,#202122);margin:8px 4px 0
8px}.cdx-tabs--framed>.cdx-tabs__header .cdx-tabs__list__item:enabled{overflow:hidden}.cdx-tabs--
framed>.cdx-tabs__header .cdx-tabs__list__item:enabled:hover{background-color:var(--background-
color-tab-list-item-framed--hover,rgba(255,255,255,.3));color:var(--color-base,#202122)}.cdx-tabs--
framed>.cdx-tabs__header .cdx-tabs__list__item:enabled:active{background-color:var(--background-
color-tab-list-item-framed--active,rgba(255,255,255,.65));color:var(--color-base,#202122)}.cdx-tabs--
framed>.cdx-tabs__header .cdx-tabs__list__item[aria-selected=true],.cdx-tabs--framed>.cdx-
tabs__header .cdx-tabs__list__item[aria-selected=true]:hover{background-color:var(--background-
color-base,#fff);color:var(--color-base,#202122)}.cdx-tabs--framed>.cdx-tabs__header .cdx-
tabs__list__item:disabled{background-color:var(--background-color-interactive,#eaecf0);color:var(--
color-disabled,#72777d);cursor:default}.cdx-tabs--framed>.cdx-tabs__header .cdx-
tabs__list__item:last-child{margin-right:8px}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-
tabs__header{background-color:var(--background-color-base,#fff);margin:0 4px;border-
bottom:var(--border-base,1px solid #a2a9b1)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-
tabs__header .cdx-tabs__prev-scroller:after{background-image:linear-gradient(to right,var(--
background-color-base,#fff) 0,var(--background-color-transparent,transparent) 100%)}.cdx-
tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-tabs__next-scroller:before{background-
image:linear-gradient(to left,var(--background-color-base,#fff) 0,var(--background-color-
transparent,transparent) 100%)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item{margin:0 2px}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item:enabled{color:var(--color-base,#202122)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-
tabs__header .cdx-tabs__list__item:enabled:hover:not([aria-selected="true"]){color:var(--color-
progressive--hover,#447ff5);box-shadow:inset 0 -2px 0 0 var(--box-shadow-color-progressive-
selected--hover,#447ff5)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item:enabled:active:not([aria-selected="true"]){color:var(--color-progressive--
active,#2a4b8d);box-shadow:inset 0 -2px 0 0 var(--box-shadow-color-progressive-selected--
active,#2a4b8d)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-tabs__list__item[aria-
selected=true]{color:var(--color-progressive,#36c);box-shadow:inset 0 -2px 0 0 var(--box-shadow-
color-progressive-selected,#36c)}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item[aria-selected=true]:hover{color:var(--color-progressive,#36c)}.cdx-tabs:not(.cdx-
tabs--framed)>.cdx-tabs__header .cdx-tabs__list__item:disabled{color:var(--color-
disabled,#72777d);cursor:default}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item:first-child{margin-left:0}.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item:last-child{margin-right:0}.cdx-tabs--framed>.cdx-tabs__header .cdx-
tabs__list__item:focus-visible,.cdx-tabs:not(.cdx-tabs--framed)>.cdx-tabs__header .cdx-
tabs__list__item:focus-visible{box-shadow:inset 0 0 0 2px var(--border-color-
progressive,#36c);outline:1px solid transparent;overflow:hidden}.cdx-text-
input{position:relative;box-sizing:border-box;min-width:256px;border-
radius:2px;overflow:hidden}.cdx-text-input .cdx-text-input__start-
icon{position:absolute;top:50%;min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;transition-property:color;transition-
duration:.1s;left:9px;transform:translateY(-50%)}.cdx-text-input__icon.cdx-text-input__end-icon{min-
width:16px;min-height:16px;width:1rem;height:1rem}@supports not (((-webkit-mask-image:none)
or (mask-image:none))){.cdx-text-input__icon.cdx-text-input__end-icon{background-
position:center;background-repeat:no-repeat;background-size:max(1rem,16px)}}@supports ((-
webkit-mask-image:none) or (mask-image:none)){.cdx-text-input__icon.cdx-text-input__end-icon{-
webkit-mask-size:max(1rem,16px);mask-size:max(1rem,16px);-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center}}.cdx-text-input__clear-
[Link]-icon,.cdx-text-input .cdx-text-input__end-icon{position:absolute;top:50%;min-
width:16px;min-height:16px;width:1rem;height:1rem;transition-property:color;transition-
duration:.1s;right:9px;transform:translateY(-50%)}.cdx-text-input__clear-[Link]-
icon:hover{cursor:pointer}.cdx-text-input__end-[Link]-icon+.cdx-text-input__clear-[Link]-
icon{right:calc(17px + 1rem)}.cdx-text-input__input{display:block;box-sizing:border-box;min-
height:32px;width:100%;margin:0;border-width:1px;border-style:solid;border-radius:0;padding:4px
8px;font-family:inherit;font-size:inherit;line-height:1.375}.cdx-text-
input__input:enabled{background-color:var(--background-color-base,#fff);color:var(--color-
base,#202122);border-color:var(--border-color-base,#a2a9b1);box-shadow:inset 0 0 0 1px var(--box-
shadow-color-transparent,transparent);transition-property:background-color,color,border-color,box-
shadow;transition-duration:.25s}.cdx-text-input__input:enabled~.cdx-text-input__icon-
vue{color:var(--color-placeholder,#72777d)}.cdx-text-input__input:enabled~.cdx-text-
input__icon{opacity:var(--opacity-icon-placeholder,.51)}.cdx-text-
input__input:enabled:hover{border-color:var(--border-color-input--hover,#72777d)}.cdx-text-
input__input:enabled:focus~.cdx-text-input__icon-vue,.cdx-text-input__input:[Link]-text-
input__input--has-value~.cdx-text-input__icon-vue{color:var(--color-base,#202122)}.cdx-text-
input__input:enabled:focus~.cdx-text-input__icon,.cdx-text-input__input:[Link]-text-
input__input--has-value~.cdx-text-input__icon{opacity:1}.cdx-text-
input__input:enabled:focus{border-color:var(--border-color-progressive--focus,#36c);box-
shadow:inset 0 0 0 1px var(--box-shadow-color-progressive--focus,#36c);outline:1px solid
transparent}.cdx-text-input__input:enabled:read-only{background-color:var(--background-color-
interactive-subtle,#f8f9fa)}.cdx-text-input__input:disabled{background-color:var(--background-color-
disabled-subtle,#eaecf0);color:var(--color-disabled,#72777d);-webkit-text-fill-color:var(--color-
disabled,#72777d);border-color:var(--border-color-disabled,#c8ccd1)}.cdx-text-
input__input:disabled~.cdx-text-input__icon-vue{color:var(--color-disabled,#72777d);pointer-
events:none}.cdx-text-input__input:disabled~.cdx-text-input__icon{opacity:var(--opacity-icon-base--
disabled,.51)}.cdx-text-input__input::placeholder{color:var(--color-
placeholder,#72777d);opacity:1}.cdx-text-input__input::-ms-clear{display:none}.cdx-text-
input__input[type=search]{-webkit-appearance:none;-moz-appearance:textfield}.cdx-text-
input__input[type=search]::-webkit-search-decoration,.cdx-text-input__input[type=search]::-webkit-
search-cancel-button{display:none}.cdx-text-input--has-start-icon .cdx-text-input__input{padding-
left:calc(16px + 1.25rem)}.cdx-text-input--has-end-icon .cdx-text-input__input,.cdx-text-input--
clearable .cdx-text-input__input{padding-right:calc(16px + 1rem)}.[Link]-
text-input--clearable .cdx-text-input__input{padding-right:calc(24px + 2rem)}.cdx-text-input--status-
error .cdx-text-input__input:enabled{border-color:var(--border-color-error,#b32424)}.cdx-text-input--
status-error .cdx-text-input__input:enabled:hover{border-color:var(--border-color-error--
hover,#ff4242)}.cdx-text-input--status-error .cdx-text-input__input:enabled:focus{border-color:var(--
border-color-progressive--focus,#36c)}

.ve-init-mw-progressBarWidget{height:1em;overflow:hidden;margin:0 25%}.ve-init-mw-
progressBarWidget-bar{height:1em;width:0} .ve-init-mw-progressBarWidget{background-
color:#fff;box-sizing:border-box;height:0.875em;border:1px solid #36c;border-radius:0.875em;box-
shadow:0 1px 1px rgba(0,0,0,0.15)}.ve-init-mw-progressBarWidget-bar{background-
color:#36c;height:0.875em}

.scribunto-limitreport-logs{margin:0;white-space:pre-wrap}

.rt-tooltip{position:absolute;z-index:800; max-width:350px;background:#fff;color:#222;font-
size:13px;line-height:1.5em;border:1px solid #c8ccd1;border-radius:3px;box-shadow:0 15px 45px -
10px rgba(0,0,0,0.3);overflow-wrap:break-word}.[Link]-tooltip-insideWindow{z-index:810}.rt-
tooltipContent{padding:8px 11px}.rt-tooltip-above .rt-tooltipContent{margin-bottom:-8px;padding-
bottom:16px}.rt-tooltip-below .rt-tooltipContent{margin-top:-10px;padding-top:18px}.rt-
tooltipTail,.rt-tooltipTail:after{position:absolute;width:12px;height:12px}.rt-
tooltipTail{background:linear-gradient(to top right,#c8ccd1 50%,rgba(0,0,0,0) 50%)}.rt-
tooltipTail:after{content:"";background:#fff;bottom:1px;left:1px}.rt-tooltip-above .rt-
tooltipTail{transform:rotate(-45deg);transform-origin:100% 100%;bottom:0;left:15px}.rt-tooltip-
below .rt-tooltipTail{transform:rotate(135deg);transform-origin:0 0;top:0;left:27px}.rt-
settingsLink{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D
%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3Csvg%20xmlns%3D%22http%3A%2F
%[Link]%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0D%0A
%20%20%20%20%3Cpath%20fill%3D%22%23555%22%20d%3D%22M20%2014.5v-2.9l-
1.8-.3c-.1-.4-.3-.8-.6-1.4l1.1-1.5-2.1-2.1-1.5%201.1c-.5-.3-1-.5-1.4-.6L13.5%205h-
2.9l-.3%201.8c-.5.1-.9.3-1.4.6L7.4%206.3%205.3%208.4l1%201.5c-.3.5-.4.9-.6%201.4l-
1.7.2v2.9l1.8.3c.[Link].6%201.4l-1%201.5%202.1%202.1%201.5-1c.[Link]%201.4.6l.3%201.8h3l.3-
1.8c.5-.1.9-.3%201.4-.6l1.5%201.1%202.1-2.1-1.1-1.5c.3-.5.5-1%20.6-1.4l1.5-.3zM12%2016c-
1.7%200-3-1.3-3-3s1.3-3%203-3%203%201.3%203%203-1.3%203-3%203z%22%2F%3E%0D%0A%3C
%2Fsvg%3E);float:right;cursor:pointer;margin:-4px -4px 0 8px;height:24px;width:24px;border-
radius:2px;background-position:center center;background-repeat:no-repeat;background-size:24px
24px}.rt-settingsLink:hover{background-color:#eee}.rt-target{background-color:#def}.rt-
enableSelect{font-weight:bold}.rt-settingsFormSeparator{margin:0.85714286em 0}.rt-
[Link]-numberInput{width:150px}.[Link]-
[Link]-tooltipsForCommentsField{margin-top:1.64285714em}.rt-
disabledHelp{border-collapse:collapse}.rt-disabledHelp td{padding:0}.[Link]-
disabledNote{vertical-align:bottom;padding-left:0.36em;font-weight:bold}@keyframes rt-fade-in-
up{0%{opacity:0;transform:translate(0,20px) }100%{opacity:1;transform:translate(0,0) }}@keyframes
rt-fade-in-down{0%{opacity:0;transform:translate(0,-20px) }100%
{opacity:1;transform:translate(0,0) }}@keyframes rt-fade-out-down{0%
{opacity:1;transform:translate(0,0) }100%{opacity:0;transform:translate(0,20px) }}@keyframes rt-
fade-out-up{0%{opacity:1;transform:translate(0,0) }100%{opacity:0;transform:translate(0,-
20px) }}.rt-fade-in-up{animation:rt-fade-in-up 0.2s ease forwards }.rt-fade-in-down{animation:rt-
fade-in-down 0.2s ease forwards }.rt-fade-out-down{animation:rt-fade-out-down 0.2s ease
forwards }.rt-fade-out-up{animation:rt-fade-out-up 0.2s ease forwards }

.mw-collapsible-toggle{float:right;-moz-user-select:none;-webkit-user-select:none;-ms-user-
select:none;user-select:none}.mw-collapsible-toggle-default{-webkit-appearance:none;-moz-
appearance:none;appearance:none;background:none;margin:0;padding:0;border:0;font:inherit}.mw
-collapsible-toggle-default .mw-collapsible-text{color:var(--color-progressive,#36c)}.mw-underline-
always .mw-collapsible-toggle-default .mw-collapsible-text{text-decoration:underline}.mw-underline-
never .mw-collapsible-toggle-default .mw-collapsible-text{text-decoration:none}.mw-collapsible-
toggle-default:hover .mw-collapsible-text{text-decoration:underline}.mw-collapsible-toggle-
default:active .mw-collapsible-text{color:#faa700}.mw-collapsible-toggle-
default::before{content:'['}.mw-collapsible-toggle-default::after{content:']'}.mw-customtoggle,.mw-
collapsible-toggle{cursor:pointer} caption .mw-collapsible-toggle,.mw-content-ltr caption .mw-
collapsible-toggle,.mw-content-rtl caption .mw-collapsible-toggle,.mw-content-rtl .mw-content-ltr
caption .mw-collapsible-toggle,.mw-content-ltr .mw-content-rtl caption .mw-collapsible-
toggle{float:none}

@media screen {
.toctoggle{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-
select:none;font-size:94%}}

@keyframes centralAuthPPersonalAnimation{0%{opacity:0;transform:translateY(-20px)}100%
{opacity:1;transform:translateY(0)}}.centralAuthPPersonalAnimation{animation-
duration:1s;animation-fill-mode:both;animation-name:centralAuthPPersonalAnimation}

.mw-diff-popup .oo-ui-clippableElement-clippable p{margin:0;white-space:nowrap}

#mw-teleport-target{position:absolute;z-index:450}

#vector-appearance form{font-size:0.875rem;padding:6px 0}

.uls-menu{border-radius:2px; font-size:medium}.uls-search,.uls-language-settings-close-
block{border-top-right-radius:2px;border-top-left-radius:2px}.uls-language-list{border-bottom-right-
radius:2px;border-bottom-left-radius:2px}.[Link]::before,.[Link]::after{border-
top:10px solid transparent;border-bottom:10px solid transparent;display:inline-block;
top:17px;position:absolute;content:''}.[Link]-right::before{ border-left:10px solid
#c8ccd1; right:-11px}.[Link]-right::after{ border-left:10px solid #fff; right:-
10px}.[Link]-left::before{ border-right:10px solid #c8ccd1; left:-11px}.uls-
[Link]-left::after{ border-right:10px solid #fff; left:-10px}.uls-ui-languages
button{margin:5px 15px 5px 0;white-space:nowrap;overflow:hidden}.uls-search-wrapper-
wrapper{position:relative;padding-left:40px;margin-top:5px;margin-bottom:5px}.uls-icon-
back{background:transparent url(/w/extensions/UniversalLanguageSelector/resources/images/back-
[Link]?c9c25) no-repeat scroll center center;background-
size:28px;height:32px;width:40px;display:block;position:absolute;left:0;border-right:1px solid
#c8ccd1;opacity:0.87}.uls-icon-back:hover{opacity:1;cursor:pointer}.uls-menu .uls-no-results-
view .uls-no-found-more{background-color:#fff}.uls-menu .uls-no-results-view h3{padding:0
28px;margin:0;color:#54595d;font-size:1em;font-weight:normal} .skin-vector .uls-menu{border-
color:#c8ccd1;box-shadow:0 2px 2px 0 rgba(0,0,0,0.2);font-size:0.875em;z-index:50}.skin-vector .uls-
search{border-bottom-color:#c8ccd1}.skin-vector .uls-search-label{opacity:0.51;transition:opacity
250ms}.skin-vector .uls-search-wrapper:hover .uls-search-label{opacity:0.87}.skin-vector .uls-
languagefilter,.skin-vector .uls-lcd-region-title{color:#54595d}.skin-vector .uls-
filtersuggestion{color:#72777d}

@media print{#centralNotice{display:none}}.cn-closeButton{display:inline-
block;background:url(data:image/
png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUBAMAAAB/
pwA+AAAAElBMVEUAAAAQEBDPz88AAABAQEDv7+9oe1vvAAAABnRSTlMA3rLe3rJS22KzAAAARElEQ
VQI12PAAUIUQCSTK5BwFgIxFU1AhKECUFAYKAAioXwwBeZChMGCEGGQIFQYJohgIhQgtCEMQ7ECYTH
COciOxA4AADgJTXIb9s8AAAAASUVORK5CYII=) no-repeat;width:20px;height:20px;text-
indent:20px;white-space:nowrap;overflow:hidden}

#uls-settings-block{background-color:#fcfcfc}#[Link]-settings-block--vector-
2022{display:flex;justify-content:space-between;padding:8px 12px}#[Link]-settings-
[Link]::before,#[Link]-settings-block--vector-
[Link]::after{content:none}#[Link]-settings-block--
with-add-languages{background-color:#f8f9fa;border-top:1px solid #c8ccd1}#[Link]-
settings-block--vector-2022 > [Link]-add-languages-button{background:transparent
url(/w/extensions/UniversalLanguageSelector/resources/images/[Link]?3165e) no-repeat left
center;margin-right:32px;padding-left:32px}#[Link]-settings-block--vector-2022 >
[Link]-language-settings-button{background:transparent
url(/w/extensions/UniversalLanguageSelector/resources/images/[Link]?ce0b4) no-repeat
center;margin-left:auto;border:0;min-height:20px;min-width:20px}#uls-settings-block:not(.uls-
settings-block--vector-2022){background-color:#f8f9fa;border-top:1px solid #c8ccd1;padding-
left:10px;line-height:1.2em;border-radius:0 0 2px 2px}#uls-settings-block:not(.uls-settings-block--
vector-2022) > button{background:left top transparent no-repeat;background-size:20px
auto;color:#54595d;display:inline-block;margin:8px 15px;border:0;padding:0 0 0 26px;font-
size:medium;cursor:pointer}#uls-settings-block:not(.uls-settings-block--vector-2022) >
button:hover{color:#202122}#uls-settings-block:not(.uls-settings-block--vector-2022) >
[Link]-settings-block{background-image:url(/w/extensions/UniversalLanguageSelector/
resources/images/[Link]?9fd85)}#uls-settings-block:not(.uls-settings-block--vector-2022) >
[Link]-settings-block{background-image:url(/w/extensions/UniversalLanguageSelector/
resources/images/[Link]?60384)}.[Link]-tipsy{z-index:1000}.uls-empty-
state{padding:28px}.uls-empty-state .uls-empty-state__header,.uls-empty-state .uls-empty-
state__desc{color:#54595d}.uls-empty-state .uls-language-action-items{list-style:none;margin:1em
0}.empty-language-selector__language-settings-button{margin:12px}.[Link]-language-actions-
dialog{min-width:248px}.[Link]-language-actions-dialog .uls-language-actions-title{border-
bottom:1px solid #c8ccd1;display:flex;align-items:center;height:32px;padding:5px 0}.[Link]-
language-actions-dialog .uls-language-actions-title .uls-language-actions-close{min-
width:unset;width:44px;background:transparent
url(/w/extensions/UniversalLanguageSelector/resources/images/[Link]?279af) no-
repeat center}.[Link]-language-actions-dialog .uls-language-action-items .uls-language-
[Link]-ui-widget{margin:0;padding:12px 8px;display:block}.[Link]-language-actions-
dialog .uls-language-action-items .[Link]-ui-widget .oo-ui-buttonElement-
button{padding-left:36px}.mw-interlanguage-selector-disabled #p-lang-btn-sticky-
header{display:none}</style><style>

.mw-message-box{background-color:var(--background-color-notice-subtle,#eaecf0);color:var(--color-
emphasized,#000);box-sizing:border-box;margin-bottom:16px;border:1px solid var(--border-color-
notice,#54595d);padding:12px 24px;word-wrap:break-word; overflow-wrap:break-
word;overflow:hidden; }.mw-message-box > :only-child{margin:0}.mw-message-box
h2{color:inherit;display:block;border:0;font-size:1em;font-weight:bold}.mw-message-box .mw-
logevent-loglines li{font-size:90%}.mw-message-box-error{background-color:var(--background-color-
error-subtle,#fee7e6);border-color:var(--border-color-error,#b32424)}.mw-message-box-
warning{background-color:var(--background-color-warning-subtle,#fef6e7);border-color:var(--
border-color-warning,#a66200)}.mw-message-box-success{background-color:var(--background-color-
success-subtle,#d5fdf4);border-color:var(--border-color-success,#096450)}

.mw-ui-icon-wikimedia-expand{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;min-width:12px;min-
height:12px;width:0.75rem;height:0.75rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.mw-ui-icon-wikimedia-expand{background-
position:center;background-repeat:no-repeat;background-size:calc(max(1.25rem,20px))}}@supports
(-webkit-mask-image:none) or (mask-image:none){.mw-ui-icon-wikimedia-expand{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-ui-icon-wikimedia-expand{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9
9-9z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-ui-icon-wikimedia-expand,.cdx-button--weight-
[Link]-button--action-progressive .mw-ui-icon-wikimedia-expand,.cdx-button--weight-
[Link]-button--action-destructive .mw-ui-icon-wikimedia-expand{filter:invert(var(--filter-invert-
primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-ui-icon-
wikimedia-expand{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m17.5 4.75-7.5
7.5-7.5-7.5L1 6.25l9 9 9-9z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m17.5 4.75-7.5
7.5-7.5-7.5L1 6.25l9 9 9-9z\"/></svg>");background-color:var(--color-base,#202122)}}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-ui-icon-wikimedia-expand{background-
position:center;background-repeat:no-repeat;background-size:calc(max(0.75rem,12px))}}@supports
(-webkit-mask-image:none) or (mask-image:none){.mw-ui-icon-wikimedia-expand{ -webkit-mask-
size:calc(max(0.75rem,12px));mask-size:calc(max(0.75rem,12px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}.vector-popup-
notification{font-size:0.875rem}.vector-popup-notification p{margin:0}.vector-popup-notification
p:last-child{padding-bottom:0} .vector-sticky-header-container{position:fixed;top:0;left:0;right:0;z-
index:3;transition:transform 250ms linear;display:none;transform:translateY(-
100%);opacity:0}.vector-sticky-header{display:flex;align-items:center;justify-content:space-
between;border-bottom:1px solid var(--background-color-interactive,#eaecf0)}.vector-sticky-header-
start,.vector-sticky-header-end,.vector-sticky-header-icons,.vector-sticky-header-buttons,.vector-
sticky-header-context-bar{display:flex;align-items:center}.vector-sticky-header-start{flex-grow:1;min-
width:0}.vector-sticky-header-context-bar-primary,.vector-sticky-header-end{white-
space:nowrap}.vector-sticky-header-context-bar{border-left:1px solid #c8c8c8;padding-left:30px;min-
width:0;margin-left:30px}.vector-sticky-header-context-bar-primary{overflow:hidden;font-
family:'Linux Libertine','Georgia','Times','Source Serif Pro',serif;font-size:1.5em;text-
overflow:ellipsis}.vector-sticky-header-context-bar-primary wbr{display:none}.vector-sticky-header-
buttons{font-size:0.875em}.vector-sticky-header-icons,.vector-sticky-header-buttons{column-
gap:8px}.vector-sticky-header .vector-search-box{display:none}.[Link]-header-
search-toggled .vector-sticky-header-search-toggle,.[Link]-header-search-
toggled .vector-sticky-header-context-bar{display:none}.[Link]-header-search-
toggled .vector-search-box{display:block;margin-left:4px}.[Link]-header-search-
toggled .vector-search-box-show-thumbnail{margin-left:-9px}.[Link]-header-
search-toggled .vector-search-box-show-thumbnail .cdx-text-input__start-icon{color:var(--color-
base,#202122)}@media (min-width:1000px){.[Link]-sticky-header-enabled{scroll-padding-
top:calc(3.125rem + 75px)}.[Link]-sticky-header-enabled .vector-sticky-header-
container{display:flex}.[Link]-sticky-header-enabled .vector-sticky-header-visible .vector-
sticky-header-container{opacity:1;transform:translateY(0)}.[Link]-sticky-header-
enabled .vector-sticky-pinned-container{top:calc(3.125rem + 24px);max-height:calc(100vh -
3.125rem - (24px * 2))}.[Link]-sticky-header-enabled .mw-sticky-header-element,.client-
[Link]-sticky-header-enabled .charts-stickyhead th{ top:3.125rem !important}}

.mw-mmv-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background-
color:#000}[Link]-mmv-lightbox-open{overflow-y:auto}[Link]-mmv-lightbox-open > *:not(.mw-
notification-area-overlay){display:none}[Link]-mmv-lightbox-open > .mw-mmv-overlay,[Link]-
mmv-lightbox-open > .mw-mmv-wrapper{display:block}.mw-mmv-filepage-buttons{margin-
top:5px}.mw-mmv-filepage-buttons .cdx-button:nth-child(n + 2){border-left:none}.mw-mmv-filepage-
buttons .mw-mmv-view-expanded .cdx-button__icon{ min-width:16px;min-
height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-bottom}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-filepage-buttons .mw-mmv-view-
expanded .cdx-button__icon{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-
filepage-buttons .mw-mmv-view-expanded .cdx-button__icon{ -webkit-mask-
size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not ((-webkit-
mask-image:none) or (mask-image:none)){.mw-mmv-filepage-buttons .mw-mmv-view-
expanded .cdx-button__icon{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M3 5a2 2 0 00-2
2v10a2 2 0 002 2h14a2 2 0 002-2V7a2 2 0 00-2-2zm0 11 3.5-4.5 2.5 3 3.5-4.5 4.5 6zM16 2a2 2 0 012
2H2a2 2 0 012-2z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-filepage-buttons .mw-
mmv-view-expanded .cdx-button__icon,.[Link]-button--action-
progressive .mw-mmv-filepage-buttons .mw-mmv-view-expanded .cdx-button__icon,.cdx-button--
[Link]-button--action-destructive .mw-mmv-filepage-buttons .mw-mmv-view-
expanded .cdx-button__icon{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-
webkit-mask-image:none) or (mask-image:none){.mw-mmv-filepage-buttons .mw-mmv-view-
expanded .cdx-button__icon{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M3 5a2 2 0 00-2
2v10a2 2 0 002 2h14a2 2 0 002-2V7a2 2 0 00-2-2zm0 11 3.5-4.5 2.5 3 3.5-4.5 4.5 6zM16 2a2 2 0 012
2H2a2 2 0 012-2z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M3 5a2 2 0 00-2
2v10a2 2 0 002 2h14a2 2 0 002-2V7a2 2 0 00-2-2zm0 11 3.5-4.5 2.5 3 3.5-4.5 4.5 6zM16 2a2 2 0 012
2H2a2 2 0 012-2z\"/></svg>");transition-property:background-color;transition-
duration:100ms}}.mw-mmv-filepage-buttons .mw-mmv-view-config .cdx-button__icon{ min-
width:16px;min-height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-filepage-
buttons .mw-mmv-view-config .cdx-button__icon{background-position:center;background-
repeat:no-repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or
(mask-image:none){.mw-mmv-filepage-buttons .mw-mmv-view-config .cdx-button__icon{ -webkit-
mask-size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-filepage-buttons .mw-mmv-view-
config .cdx-button__icon{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-filepage-buttons .mw-
mmv-view-config .cdx-button__icon,.[Link]-button--action-
progressive .mw-mmv-filepage-buttons .mw-mmv-view-config .cdx-button__icon,.cdx-button--
[Link]-button--action-destructive .mw-mmv-filepage-buttons .mw-mmv-view-
config .cdx-button__icon{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-
mask-image:none) or (mask-image:none){.mw-mmv-filepage-buttons .mw-mmv-view-config .cdx-
button__icon{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");transition-property:background-color;transition-
duration:100ms}}.mw-mmv-button{background-color:transparent;min-
width:0;border:0;padding:0;overflow-x:hidden;text-indent:-9999em}

.ve-init-mw-tempWikitextEditorWidget{border:0;padding:0;color:inherit;line-
height:1.5em;width:100%;-moz-tab-size:4;tab-size:4; }.ve-init-mw-
tempWikitextEditorWidget:focus{outline:0;padding:0}.ve-init-mw-
tempWikitextEditorWidget::selection{background:rgba(109,169,247,0.5); }</style><style>

.ve-active .ve-init-mw-desktopArticleTarget-targetContainer #siteNotice,.ve-active .mw-indicators,.ve-


active #t-print,.ve-active #t-permalink,.ve-active #p-coll-print_export,.ve-active #t-cite,.ve-active .ve-
init-mw-desktopArticleTarget-editableContent,.ve-active .ve-init-mw-
tempWikitextEditorWidget{display:none}.ve-deactivating .ve-ui-surface{display:none}.ve-
activating{ }.ve-activating .ve-ui-surface{height:0;padding:0 !important; overflow:hidden} .ve-
loading .ve-init-mw-desktopArticleTarget-targetContainer > :not(.ve-init-mw-desktopArticleTarget-
toolbarPlaceholder):not(.ve-init-mw-desktopArticleTarget),.ve-loading .ve-init-mw-
desktopArticleTarget-originalContent,.ve-activated:not(.ve-loading) .ve-init-mw-desktopArticleTarget-
uneditableContent{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-
select:none;user-select:none;opacity:0.5}.ve-activated .ve-init-mw-desktopArticleTarget-
targetContainer #firstHeading{ -webkit-user-select:text;-moz-user-select:text;-ms-user-
select:text;user-select:text;pointer-events:auto;cursor:text}.ve-activated .ve-init-mw-
desktopArticleTarget-targetContainer #firstHeading a{ pointer-events:none}.ve-activated .ve-init-mw-
desktopArticleTarget-originalContent #catlinks{cursor:pointer}.ve-activated .ve-init-mw-
desktopArticleTarget-originalContent #catlinks:hover{ background:#e9f2fd}.ve-activated .ve-init-mw-
desktopArticleTarget-originalContent #catlinks a{opacity:1} .ve-init-mw-desktopArticleTarget-loading-
overlay{z-index:2;position:absolute;width:100%;top:1em}.ve-init-mw-desktopArticleTarget-
toolbarPlaceholder{overflow:hidden;transition:height 250ms ease;height:0;padding-
bottom:2px; }.ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar{transform:translateY(-
100%);transition:transform 250ms ease}.ve-init-mw-desktopArticleTarget-toolbarPlaceholder-
open .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar{transform:translateY(0)}.ve-init-mw-
desktopArticleTarget-toolbarPlaceholder-floating{transition:none}.ve-init-mw-desktopArticleTarget-
toolbarPlaceholder-floating .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-
bar{position:fixed;top:0;z-index:1;background:#fff} .oo-ui-element-hidden{display:none !important; }
.mw-editsection{ unicode-bidi:-moz-isolate;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.mw-
editsection::before{content:'\200B'}.mw-editsection a{white-space:nowrap}.mw-editsection-
divider{color:#54595d} .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar{height:42px;border-
bottom:1px solid #c8ccd1;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}.ve-init-mw-desktopArticleTarget-
toolbarPlaceholder-floating,.ve-init-mw-desktopArticleTarget-toolbarPlaceholder-
open{height:42px} .ve-init-mw-desktopArticleTarget-toolbarPlaceholder-bar,.ve-init-mw-
[Link]-ui-toolbar > .oo-ui-toolbar-bar{box-shadow:0 2px 1px -1px
rgba(0,0,0,0.1)}.ve-ui-mwSaveDialog-preview .mw-body{ }.ve-ui-mwSaveDialog-preview .mw-
body .firstHeading{grid-area:titlebar}.ve-ui-mwSaveDialog-preview .mw-body .mw-body-
content{grid-area:content}.ve-ui-mwSaveDialog-preview .mw-content-container{max-
width:960px;margin:0 auto}.ve-init-mw-desktopArticleTarget .ve-init-mw-target-surface > .ve-ce-
surface .ve-ce-attachedRootNode{min-height:15em}</style><style>

.popups-icon--preview-generic{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E %3Ctitle%3E sad face %3C/title%3E %3Cpath d=%22M2 0a2 2 0 0 0-2 2v18l4-4h14a2 2 0
0 0 2-2V2a2 2 0 0 0-2-2zm4 4c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0
1 6 4m8 0c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0 1 14 4m-4 5c2.61
0 4.83.67 5.65 3H4.35C5.17 9.67 7.39 9 10 9%22/%3E %3C/svg%3E")}.popups-icon--
footer{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link]
%22 xmlns:xlink=%22[Link] width=%22230%22 height=%22179%22
viewBox=%220 0 230 179%22%3E %3Cdefs%3E %3Crect id=%22a%22 width=%22201%22 height=
%2213%22 rx=%222%22/%3E %3Crect id=%22b%22 width=%22201%22 height=%22169%22 y=
%2210%22 rx=%222%22/%3E %3Crect id=%22c%22 width=%2230%22 height=%222%22 x=
%22135%22 y=%22158%22 rx=%221%22/%3E %3C/defs%3E %3Cg fill=%22none%22 fill-rule=
%22evenodd%22%3E %3Cg transform=%22matrix%281 0 0 -1 0 13%29%22%3E %3Cuse xlink:href=
%22%23a%22 fill=%22%23f8f9fa%22/%3E %3Crect width=%22199%22 height=%2211%22 x=
%221%22 y=%221%22 stroke=%22%23a2a9b1%22 stroke-width=%222%22 rx=%222%22/%3E %3C/g
%3E %3Cuse xlink:href=%22%23b%22 fill=%22%23fff%22/%3E %3Crect width=%22199%22 height=
%22167%22 x=%221%22 y=%2211%22 stroke=%22%23a2a9b1%22 stroke-width=%222%22 rx=
%222%22/%3E %3Cg fill=%22%2372777d%22 opacity=%22.4%22 transform=%22translate%2867
35%29%22%3E %3Crect width=%2273%22 height=%222%22 y=%227%22 fill=%22%23c8ccd1%22 rx=
%221%22/%3E %3Crect width=%2281%22 height=%222%22 y=%2231%22 rx=%221%22/%3E
%3Crect width=%2232%22 height=%222%22 y=%2285%22 rx=%221%22/%3E %3Crect width=
%2273%22 height=%222%22 x=%2235%22 y=%2285%22 rx=%221%22/%3E %3Crect width=
%2217%22 height=%222%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2217%22 height=
%222%22 x=%2291%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2268%22 height=
%222%22 x=%2220%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2217%22 height=
%222%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2237%22 height=%222%22 x=
%2272%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2249%22 height=%222%22 x=
%2220%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2224%22 height=%222%22 x=
%2284%22 y=%2231%22 rx=%221%22 transform=%22matrix%28-1 0 0 1 192 0%29%22/%3E %3Crect
width=%2281%22 height=%222%22 y=%2266%22 rx=%221%22/%3E %3Crect width=%2214%22
height=%222%22 x=%2254%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%2237%22 height=
%222%22 x=%2271%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%2251%22 height=
%222%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=
%2259%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2252%22 rx=
%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2292%22 rx=%221%22/%3E
%3Crect width=%22108%22 height=%222%22 y=%2238%22 rx=%221%22/%3E %3Crect width=
%2251%22 height=%222%22 rx=%221%22/%3E %3C/g%3E %3Crect width=%2230%22 height=
%222%22 x=%2267%22 y=%22158%22 fill=%22%2372777d%22 opacity=%22.4%22 rx=
%221%22/%3E %3Crect width=%2230%22 height=%222%22 x=%2299%22 y=%22158%22 fill=
%22%2372777d%22 opacity=%22.4%22 rx=%221%22/%3E %3Cuse xlink:href=%22%23c%22 fill=
%22%2336c%22/%3E %3Crect width=%2233%22 height=%225%22 x=%22133.5%22 y=%22156.5%22
stroke=%22%23ffc057%22 stroke-opacity=%22.447%22 stroke-width=%223%22 rx=%222.5%22/%3E
%3Ccircle cx=%2234%22 cy=%2249%22 r=%2219%22 fill=%22%23eaecf0%22/%3E %3Cg fill=
%22%23a2a9b1%22 transform=%22translate%285 5%29%22%3E %3Ccircle cx=%221.5%22 cy=
%221.5%22 r=%221.5%22/%3E %3Ccircle cx=%226%22 cy=%221.5%22 r=%221.5%22/%3E %3Ccircle
cx=%2210.5%22 cy=%221.5%22 r=%221.5%22/%3E %3C/g%3E %3Cpath stroke=%22%23ff00af%22
stroke-linecap=%22square%22 d=%22M174.5 159.5h54.01%22/%3E %3C/g%3E %3C/svg%3E")}

.oo-ui-icon-edit,.mw-ui-icon-edit:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E edit %3C/title%3E%3Cpath d=%22m16.77 8 1.94-2a1 1 0 0 0 0-1.41l-3.34-
3.3a1 1 0 0 0-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-9.96-4.75-4.75z%22/%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-edit,.mw-ui-icon-edit-invert:before{background-image:url("data:image/
svg+xml,%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22
viewBox=%220 0 20 20%22%3E%3Ctitle%3E edit %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath
d=%22m16.77 8 1.94-2a1 1 0 0 0 0-1.41l-3.34-3.3a1 1 0 0 0-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-
9.96-4.75-4.75z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-edit,.mw-ui-
icon-edit-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E edit %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22m16.77 8
1.94-2a1 1 0 0 0 0-1.41l-3.34-3.3a1 1 0 0 0-1.41 0L12 3.23zM1 14.25V19h4.75l9.96-9.96-4.75-4.75z
%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-editLock,.mw-ui-icon-editLock:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E edit lock %3C/title%3E
%3Cpath d=%22M12 12a2 2 0 0 1-2-2V5.25l-9 9V19h4.75l7-7zm7-8h-.5V2.5a2.5 2.5 0 0 0-5
0V4H13a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1m-3 4a1 1 0 1 1 1-1 1 1 0 0 1-1
1m1.5-4h-3V2.75C14.5 2 14.5 1 16 1s1.5 1 1.5 1.75z%22/%3E%3C/svg%3E")}.[Link]-
ui-icon-editLock,.mw-ui-icon-editLock-invert:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E edit lock %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M12 12a2 2 0 0 1-2-2V5.25l-9 9V19h4.75l7-7zm7-8h-.5V2.5a2.5 2.5 0 0 0-5 0V4H13a1 1 0 0 0-1
1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1m-3 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1m1.5-4h-
3V2.75C14.5 2 14.5 1 16 1s1.5 1 1.5 1.75z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-editLock,.mw-ui-icon-editLock-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E edit lock %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M12 12a2 2 0 0 1-2-2V5.25l-9 9V19h4.75l7-7zm7-
8h-.5V2.5a2.5 2.5 0 0 0-5 0V4H13a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1m-3
4a1 1 0 1 1 1-1 1 1 0 0 1-1 1m1.5-4h-3V2.75C14.5 2 14.5 1 16 1s1.5 1 1.5 1.75z%22/%3E%3C/g%3E
%3C/svg%3E")}.oo-ui-icon-editUndo,.mw-ui-icon-editUndo:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E undo edit %3C/title%3E
%3Cpath d=%22M1 14.25V19h4.75l8.33-8.33-5.27-4.23zM13 2.86V0L8 4l5 4V5h.86c2.29 0 4 1.43 4
4.29H20a6.51 6.51 0 0 0-6.14-6.43z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-
editUndo,.mw-ui-icon-editUndo-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E undo edit %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M1
14.25V19h4.75l8.33-8.33-5.27-4.23zM13 2.86V0L8 4l5 4V5h.86c2.29 0 4 1.43 4 4.29H20a6.51 6.51 0
0 0-6.14-6.43z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-editUndo,.mw-
ui-icon-editUndo-progressive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E undo edit %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M1
14.25V19h4.75l8.33-8.33-5.27-4.23zM13 2.86V0L8 4l5 4V5h.86c2.29 0 4 1.43 4 4.29H20a6.51 6.51 0
0 0-6.14-6.43z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-link,.mw-ui-icon-
link:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E link %3C/title%3E%3Cpath d=%22M4.83 15h2.91a4.9 4.9 0 0 1-1.55-
2H5a3 3 0 1 1 0-6h3a3 3 0 0 1 2.82 4h2.1a5 5 0 0 0 .08-.83v-.34A4.83 4.83 0 0 0 8.17 5H4.83A4.83
4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15%22/%3E%3Cpath d=%22M15.17 5h-2.91a4.9 4.9 0 0 1
1.55 2H15a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.82-4h-2.1a5 5 0 0 0-.08.83v.34A4.83 4.83 0 0 0 11.83
15h3.34A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17 5%22/%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-link,.mw-ui-icon-link-invert:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E link %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M4.83 15h2.91a4.9 4.9 0 0 1-1.55-2H5a3 3 0 1 1 0-6h3a3 3 0 0 1 2.82 4h2.1a5 5 0 0
0 .08-.83v-.34A4.83 4.83 0 0 0 8.17 5H4.83A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83
15%22/%3E%3Cpath d=%22M15.17 5h-2.91a4.9 4.9 0 0 1 1.55 2H15a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.82-
4h-2.1a5 5 0 0 0-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0
0 0 15.17 5%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-link,.mw-ui-icon-
link-progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E link %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M4.83
15h2.91a4.9 4.9 0 0 1-1.55-2H5a3 3 0 1 1 0-6h3a3 3 0 0 1 2.82 4h2.1a5 5 0 0 0 .08-.83v-.34A4.83
4.83 0 0 0 8.17 5H4.83A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15%22/%3E%3Cpath d=
%22M15.17 5h-2.91a4.9 4.9 0 0 1 1.55 2H15a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.82-4h-2.1a5 5 0 0
0-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17
5%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-unLink,.mw-ui-icon-unLink:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E unlink %3C/title%3E
%3Cpath d=%22M4.83 5A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15h2.91a4.9 4.9 0 0 1-1.55-
2H5c-4 0-4-6 0-6h3q.113.002.225.012L6.215 5zm7.43 0a4.9 4.9 0 0 1 1.55 2H15c3.179.003 4.17 4.3
1.314 5.695l1.508 1.508A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17 5zm-3.612.03 4.329
4.327A4.83 4.83 0 0 0 8.648 5.03M7.227 8.411C7.17 8.595 7.08 9 7.08
9c-.045.273-.08.584-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34q.475 0 .941-.094L14.205 13H12c-
2.067-.006-3.51-2.051-2.82-4zm3.755 1.36A3 3 0 0 1 10.82 11h1.389z%22/%3E%3Cpath d=
%22M1.22 0 0 1.22 18.8 20l1.2-1.22z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-
unLink,.mw-ui-icon-unLink-invert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E unlink %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M4.83
5A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15h2.91a4.9 4.9 0 0 1-1.55-2H5c-4 0-4-6 0-
6h3q.113.002.225.012L6.215 5zm7.43 0a4.9 4.9 0 0 1 1.55 2H15c3.179.003 4.17 4.3 1.314
5.695l1.508 1.508A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17 5zm-3.612.03 4.329
4.327A4.83 4.83 0 0 0 8.648 5.03M7.227 8.411C7.17 8.595 7.08 9 7.08
9c-.045.273-.08.584-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34q.475 0 .941-.094L14.205 13H12c-
2.067-.006-3.51-2.051-2.82-4zm3.755 1.36A3 3 0 0 1 10.82 11h1.389z%22/%3E%3Cpath d=
%22M1.22 0 0 1.22 18.8 20l1.2-1.22z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-
ui-icon-unLink,.mw-ui-icon-unLink-progressive:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E unlink %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=
%22M4.83 5A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15h2.91a4.9 4.9 0 0 1-1.55-2H5c-4 0-4-
6 0-6h3q.113.002.225.012L6.215 5zm7.43 0a4.9 4.9 0 0 1 1.55 2H15c3.179.003 4.17 4.3 1.314
5.695l1.508 1.508A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17 5zm-3.612.03 4.329
4.327A4.83 4.83 0 0 0 8.648 5.03M7.227 8.411C7.17 8.595 7.08 9 7.08
9c-.045.273-.08.584-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34q.475 0 .941-.094L14.205 13H12c-
2.067-.006-3.51-2.051-2.82-4zm3.755 1.36A3 3 0 0 1 10.82 11h1.389z%22/%3E%3Cpath d=
%22M1.22 0 0 1.22 18.8 20l1.2-1.22z%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-
ui-icon-unLink,.mw-ui-icon-unLink-destructive:before{background-image:url("data:image/svg+xml,
%3Csvg xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=
%220 0 20 20%22%3E%3Ctitle%3E unlink %3C/title%3E%3Cg fill=%22%23d73333%22%3E%3Cpath
d=%22M4.83 5A4.83 4.83 0 0 0 0 9.83v.34A4.83 4.83 0 0 0 4.83 15h2.91a4.9 4.9 0 0 1-1.55-2H5c-4 0-
4-6 0-6h3q.113.002.225.012L6.215 5zm7.43 0a4.9 4.9 0 0 1 1.55 2H15c3.179.003 4.17 4.3 1.314
5.695l1.508 1.508A4.83 4.83 0 0 0 20 10.17v-.34A4.83 4.83 0 0 0 15.17 5zm-3.612.03 4.329
4.327A4.83 4.83 0 0 0 8.648 5.03M7.227 8.411C7.17 8.595 7.08 9 7.08
9c-.045.273-.08.584-.08.83v.34A4.83 4.83 0 0 0 11.83 15h3.34q.475 0 .941-.094L14.205 13H12c-
2.067-.006-3.51-2.051-2.82-4zm3.755 1.36A3 3 0 0 1 10.82 11h1.389z%22/%3E%3Cpath d=
%22M1.22 0 0 1.22 18.8 20l1.2-1.22z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-
linkExternal,.mw-ui-icon-linkExternal:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E external link %3C/title%3E%3Cpath d=%22M17 17H3V3h5V1H3a2 2 0 0
0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath d=%22m11 1 3.29 3.29-5.73 5.73
1.42 1.42 5.73-5.73L19 9V1z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-linkExternal,.mw-
ui-icon-linkExternal-invert:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=
%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0 20
20%22%3E%3Ctitle%3E external link %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M17
17H3V3h5V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath d=%22m11
1 3.29 3.29-5.73 5.73 1.42 1.42 5.73-5.73L19 9V1z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-linkExternal,.mw-ui-icon-linkExternal-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E external link %3C/title
%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M17 17H3V3h5V1H3a2 2 0 0 0-2 2v14a2 2 0 0 0 2
2h14a2 2 0 0 0 2-2v-5h-2z%22/%3E%3Cpath d=%22m11 1 3.29 3.29-5.73 5.73 1.42 1.42 5.73-5.73L19
9V1z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-linkSecure,.mw-ui-icon-
linkSecure:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E secure link %3C/title%3E%3Cpath d=%22M16.07 8H15V5s0-5-5-5-5 5-5
5v3H3.93A1.93 1.93 0 0 0 2 9.93v8.15A1.93 1.93 0 0 0 3.93 20h12.14A1.93 1.93 0 0 0 18
18.07V9.93A1.93 1.93 0 0 0 16.07 8M7 5.5C7 4 7 2 10 2s3 2 3 3.5V8H7zM10 16a2 2 0 1 1 2-2 2 2 0 0
1-2 2%22/%3E%3C/svg%3E")}.[Link]-ui-icon-linkSecure,.mw-ui-icon-linkSecure-
invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E secure link %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=
%22M16.07 8H15V5s0-5-5-5-5 5-5 5v3H3.93A1.93 1.93 0 0 0 2 9.93v8.15A1.93 1.93 0 0 0 3.93
20h12.14A1.93 1.93 0 0 0 18 18.07V9.93A1.93 1.93 0 0 0 16.07 8M7 5.5C7 4 7 2 10 2s3 2 3
3.5V8H7zM10 16a2 2 0 1 1 2-2 2 2 0 0 1-2 2%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-
[Link]-ui-icon-linkSecure,.mw-ui-icon-linkSecure-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E secure link %3C/title%3E
%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M16.07 8H15V5s0-5-5-5-5 5-5 5v3H3.93A1.93 1.93 0
0 0 2 9.93v8.15A1.93 1.93 0 0 0 3.93 20h12.14A1.93 1.93 0 0 0 18 18.07V9.93A1.93 1.93 0 0 0 16.07
8M7 5.5C7 4 7 2 10 2s3 2 3 3.5V8H7zM10 16a2 2 0 1 1 2-2 2 2 0 0 1-2 2%22/%3E%3C/g%3E%3C/svg
%3E")}.oo-ui-icon-redo,.mw-ui-icon-redo:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E redo %3C/title%3E%3Cpath d=%22M19 8.5 12 3v11zM12 7v3h-1c-4 0-7
2-7 6v1H1v-1c0-6 5-9 10-9z%22/%3E%3C/svg%3E")}.[Link]-ui-icon-redo,.mw-ui-icon-
redo-invert:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E redo %3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M19 8.5
12 3v11zM12 7v3h-1c-4 0-7 2-7 6v1H1v-1c0-6 5-9 10-9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-
[Link]-ui-icon-redo,.mw-ui-icon-redo-progressive:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E redo %3C/title%3E%3Cg
fill=%22%2336c%22%3E%3Cpath d=%22M19 8.5 12 3v11zM12 7v3h-1c-4 0-7 2-7 6v1H1v-1c0-6 5-9
10-9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-undo,.mw-ui-icon-undo:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E undo %3C/title%3E
%3Cpath d=%22M1 8.5 8 14v-4h1c4 0 7 2 7 6v1h3v-1c0-6-5-9-10-9H8V3z%22/%3E%3C/svg
%3E")}.[Link]-ui-icon-undo,.mw-ui-icon-undo-invert:before{background-
image:url("data:image/svg+xml,%3Csvg xmlns=%22[Link] width=
%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3E undo %3C/title%3E%3Cg
fill=%22%23fff%22%3E%3Cpath d=%22M1 8.5 8 14v-4h1c4 0 7 2 7 6v1h3v-1c0-6-5-9-10-9H8V3z
%22/%3E%3C/g%3E%3C/svg%3E")}.[Link]-ui-icon-undo,.mw-ui-icon-undo-
progressive:before{background-image:url("data:image/svg+xml,%3Csvg
xmlns=%22[Link] width=%2220%22 height=%2220%22 viewBox=%220 0
20 20%22%3E%3Ctitle%3E undo %3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M1 8.5
8 14v-4h1c4 0 7 2 7 6v1h3v-1c0-6-5-9-10-9H8V3z%22/%3E%3C/g%3E%3C/svg%3E")}</style><style>

@keyframes mwe-popups-fade-in-up{0%{opacity:0;transform:translate(0,20px)}100%
{opacity:1;transform:translate(0,0)}}@keyframes mwe-popups-fade-in-down{0%
{opacity:0;transform:translate(0,-20px)}100%{opacity:1;transform:translate(0,0)}}@keyframes mwe-
popups-fade-out-down{0%{opacity:1;transform:translate(0,0)}100%
{opacity:0;transform:translate(0,20px)}}@keyframes mwe-popups-fade-out-up{0%
{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(0,-20px)}}.mwe-popups-fade-
in-up{animation:mwe-popups-fade-in-up 0.2s ease forwards}.mwe-popups-fade-in-
down{animation:mwe-popups-fade-in-down 0.2s ease forwards}.mwe-popups-fade-out-
down{animation:mwe-popups-fade-out-down 0.2s ease forwards}.mwe-popups-fade-out-
up{animation:mwe-popups-fade-out-up 0.2s ease forwards}.popups-icon--settings{ min-
width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--
settings{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--settings{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--settings{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--settings,.cdx-button--
[Link]-button--action-progressive .popups-icon--settings,.cdx-button--weight-
[Link]-button--action-destructive .popups-icon--settings{filter:invert(var(--filter-invert-primary-
button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.popups-icon--
settings{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--
infoFilled{ min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.popups-icon--infoFilled{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--infoFilled{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--infoFilled{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0C4.477 0 0
4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0M9 5h2v2H9zm0
4h2v6H9z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--infoFilled,.cdx-button--
[Link]-button--action-progressive .popups-icon--infoFilled,.cdx-button--weight-
[Link]-button--action-destructive .popups-icon--infoFilled{filter:invert(var(--filter-invert-
primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.popups-
icon--infoFilled{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0C4.477 0 0
4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0M9 5h2v2H9zm0 4h2v6H9z\"/></svg>");
mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0
10 0M9 5h2v2H9zm0 4h2v6H9z\"/></svg>");background-color:var(--color-
base,#202122)}}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--
infoFilled:lang(ar){background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M8 19a1 1 0 001
1h2a1 1 0 001-1v-1H8zm9-12a7 7 0 10-12 4.9S7 14 7 15v1a1 1 0 001 1h4a1 1 0 001-1v-1c0-1 2-3.1 2-
3.1A7 7 0 0017 7\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--infoFilled:lang(ar),.cdx-
[Link]-button--action-progressive .popups-icon--infoFilled:lang(ar),.cdx-button--
[Link]-button--action-destructive .popups-icon--infoFilled:lang(ar){filter:invert(var(--
filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--infoFilled:lang(ar){ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M8 19a1 1 0 001
1h2a1 1 0 001-1v-1H8zm9-12a7 7 0 10-12 4.9S7 14 7 15v1a1 1 0 001 1h4a1 1 0 001-1v-1c0-1 2-3.1 2-
3.1A7 7 0 0017 7\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M8 19a1 1 0 001
1h2a1 1 0 001-1v-1H8zm9-12a7 7 0 10-12 4.9S7 14 7 15v1a1 1 0 001 1h4a1 1 0 001-1v-1c0-1 2-3.1 2-
3.1A7 7 0 0017 7\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--close{ min-
width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--
close{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--close{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--close{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .popups-icon--close,.[Link]-
button--action-progressive .popups-icon--close,.[Link]-button--action-
destructive .popups-icon--close{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-
webkit-mask-image:none) or (mask-image:none){.popups-icon--close{ -webkit-mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07
4.34 4.34 17.07l-1.41-1.41L15.66 2.93z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");background-color:var(--color-base,#202122)}}#mwe-popups-settings{z-
index:1000;background-color:var(--background-color-base,#fff);width:420px;border:var(--border-
base,1px solid #a2a9b1);box-shadow:0 2px 2px 0 rgba(0,0,0,0.2);border-radius:2px;font-
size:14px}#mwe-popups-settings header{box-sizing:border-box;border-bottom:var(--border-
subtle,1px solid #c8ccd1);position:relative;display:table;width:100%;padding:5px 7px}#mwe-popups-
settings header > div{display:table-cell;width:3.25rem;vertical-align:middle;cursor:pointer}#mwe-
popups-settings header h1{margin-bottom:0.6em;padding-top:0.5em;border:0;width:100%;font-
family:sans-serif;font-size:18px;font-weight:bold;text-align:center}#mwe-popups-settings
main#mwe-popups-settings-form{display:block;width:350px;padding:32px 0 24px;margin:0
auto}#mwe-popups-settings main#mwe-popups-settings-form p{color:var(--color-
subtle,#54595d);font-size:14px;margin:16px 0 0}#mwe-popups-settings main#mwe-popups-settings-
form p:first-child{margin-top:0}#mwe-popups-settings main#mwe-popups-settings-form form
img{margin-right:60px}#mwe-popups-settings main#mwe-popups-settings-form form label{font-
size:13px;line-height:16px;width:300px;margin-left:10px;flex-direction:column}#mwe-popups-
settings main#mwe-popups-settings-form form label > span{color:var(--color-emphasized,#000);font-
size:14px;font-weight:bold;display:block;margin-bottom:5px}#mwe-popups-settings main#mwe-
popups-settings-form form label::before{top:0.78125em !important}.mwe-popups-settings-
help{font-size:13px;font-weight:800;margin:40px;position:relative}.mwe-popups-settings-
help .popups-icon{background-size:contain;width:180px;max-
width:none;height:140px;margin:0;padding:0}.mwe-popups-settings-help
p{left:180px;bottom:20px;position:absolute}.mwe-popups{background:var(--background-color-
base,#fff);position:absolute;z-index:110;box-shadow:0 30px 90px -20px rgba(0,0,0,0.3),0 0 1px 1px
rgba(0,0,0,0.05);padding:0;display:none;font-size:14px;line-height:20px;min-width:300px;border-
radius:2px; }.mwe-popups .mwe-popups-container{color:var(--color-base,#202122);text-
decoration:none}.mwe-popups .mwe-popups-container footer{padding:0 16px
16px;margin:0;position:absolute;bottom:0;pointer-events:none}.mwe-popups .mwe-popups-
container footer a{pointer-events:auto}.mwe-popups .mwe-popups-settings-
button{float:right;pointer-events:auto;min-width:32px !important; min-height:32px !
important; }.mwe-popups .mwe-popups-extract{margin:16px;display:block;color:var(--color-
base,#202122);text-decoration:none;position:relative;padding-bottom:4px}.mwe-popups .mwe-
popups-extract:hover{text-decoration:none}.mwe-popups .mwe-popups-extract::after,.mwe-
popups .mwe-popups-extract blockquote::after{content:'
';position:absolute;bottom:0;width:25%;height:20px;background-color:transparent;pointer-
events:none}.mwe-popups .mwe-popups-extract[dir='ltr']::after{ right:0; background-image:linear-
gradient(to right,rgba(255,255,255,0),#ffffff 50%)}.mwe-popups .mwe-popups-extract[dir='rtl']::after{
left:0; background-image:linear-gradient(to left,rgba(255,255,255,0),#ffffff 50%)}.mwe-popups .mwe-
popups-extract blockquote::after{width:100%;height:25px; bottom:0; background-image:linear-
gradient(to bottom,rgba(255,255,255,0),#ffffff 75%)}.mwe-popups .mwe-popups-extract
p{margin:0}.mwe-popups .mwe-popups-extract ul,.mwe-popups .mwe-popups-extract ol,.mwe-
popups .mwe-popups-extract li,.mwe-popups .mwe-popups-extract dl,.mwe-popups .mwe-popups-
extract dd,.mwe-popups .mwe-popups-extract dt{margin-top:0;margin-bottom:0}.mwe-popups
svg{overflow:hidden}.[Link]-popups-is-tall{width:450px}.[Link]-popups-is-
tall > div > a > svg{vertical-align:middle}.[Link]-popups-is-tall .mwe-popups-
extract{width:215px;height:176px;overflow:hidden;float:left}.[Link]-popups-is-tall
footer{left:0;right:203px}.[Link]-popups-is-not-tall{width:320px}.[Link]-
popups-is-not-tall .mwe-popups-extract{min-height:50px;max-height:136px;overflow:hidden;margin-
bottom:50px}.[Link]-popups-is-not-tall footer{left:0;right:0}.[Link]-popups-
no-image-pointer::before{content:'';position:absolute;border:8px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:8px solid
rgba(0,0,0,0.07000000000000001);top:-8px;left:10px}.[Link]-popups-no-image-
pointer::after{content:'';position:absolute;border:11px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:11px solid var(--background-color-
base,#fff);top:-7px;left:7px}.[Link]-popups-no-image-
pointer::before{left:auto;right:10px}.[Link]-popups-no-image-
pointer::after{left:auto;right:7px}.[Link]-popups-image-
pointer::before{content:'';position:absolute;border:9px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:9px solid var(--border-color-
base,#a2a9b1);top:-9px;left:9px;z-index:111}.[Link]-popups-image-
pointer::after{content:'';position:absolute;border:12px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:12px solid var(--background-color-
base,#fff);top:-8px;left:6px;z-index:112}.[Link]-
x::before{content:'';position:absolute;border:9px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:9px solid var(--border-color-
base,#a2a9b1);top:-9px;left:293px}.[Link]-
x::after{content:'';position:absolute;border:12px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:12px solid var(--background-color-
base,#fff);top:-8px;left:290px}.[Link]-popups-image-pointer > div > a > svg{margin-top:-
8px;position:absolute;z-index:113;left:0}.[Link]-popups-is-tall{min-
height:242px}.[Link]-popups-is-
tall::before{content:'';position:absolute;border:9px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:9px solid var(--border-color-
base,#a2a9b1);top:-9px;left:420px;z-index:111}.[Link]-popups-is-tall > div > a >
svg{margin:0;margin-top:-8px;margin-bottom:-7px;position:absolute;z-index:113;right:0}.mwe-
[Link]-x-y::before{content:'';position:absolute;border:9px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:9px solid var(--border-color-
base,#a2a9b1);bottom:-9px;left:293px;z-index:111}.[Link]-x-
y::after{content:'';position:absolute;border:12px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:12px solid var(--background-color-
base,#fff);bottom:-8px;left:290px;z-index:112}.[Link]-popups-is-tall{min-
height:242px}.[Link]-popups-is-
tall::before{content:'';position:absolute;border:9px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:9px solid var(--border-color-
base,#a2a9b1);bottom:-9px;left:420px}.[Link]-popups-is-
tall::after{content:'';position:absolute;border:12px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:12px solid var(--background-color-
base,#fff);bottom:-8px;left:417px}.[Link]-popups-is-tall > div > a >
svg{margin:0;margin-bottom:-9px;position:absolute;z-index:113;right:0}.[Link]-
y::before{content:'';position:absolute;border:8px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:8px solid var(--border-color-
base,#a2a9b1);bottom:-8px;left:10px}.[Link]-
y::after{content:'';position:absolute;border:11px solid var(--border-color-
transparent,transparent);border-bottom:0;border-top:11px solid var(--background-color-
base,#fff);bottom:-7px;left:7px}.mwe-popups-is-tall polyline{transform:translate(0,0)}.mwe-popups-
[Link]-x-y polyline{transform:translate(0,-8px)}.[Link]-x
polyline{transform:translate(0,8px)}.rtl .mwe-popups-is-tall polyline{transform:translate(-100%,0)}.rtl
.[Link]-x-y polyline{transform:translate(-100%,-8px)}.rtl .mwe-popups-is-
[Link]-x polyline{transform:translate(-100%,8px)}@supports (clip-path:polygon(1px 1px)){.mwe-
popups .mwe-popups-thumbnail{display:block;object-fit:cover;outline:1px solid
rgba(0,0,0,0.1)}.[Link]-y .mwe-popups-container,.[Link]-x-y .mwe-
popups-container{--y1:100%;--y2:calc(100% - var(--pointer-height));--y3:calc(100% - var(--pointer-
height) - var(--pseudo-radius));--y4:var(--pseudo-radius);--y5:0;margin-bottom:calc(var(--pointer-
height) * -1);padding-bottom:var(--pointer-height)}.mwe-popups:not(.flipped-y):not(.flipped-x-
y) .mwe-popups-container{margin-top:calc(var(--pointer-height) * -1);padding-top:var(--pointer-
height)}.mwe-popups .mwe-popups-discreet{margin-top:calc(var(--pointer-height) * -1)}.mwe-
[Link]-y .mwe-popups-discreet,.[Link]-popups-is-
[Link]-x-y .mwe-popups-discreet{margin-top:0;margin-bottom:calc(var(--pointer-height) * -
1)}.mwe-popups .mwe-popups-container{--x1:0;--x2:var(--pseudo-radius);--x3:calc(var(--pointer-
offset) - (var(--pointer-width) / 2));--x4:var(--pointer-offset);--x5:calc(var(--pointer-offset) + (var(--
pointer-width) / 2));--x6:calc(100% - var(--pseudo-radius));--x7:100%;--y1:0;--y2:var(--pointer-
height);--y3:calc(var(--pointer-height) + var(--pseudo-radius));--y4:calc(100% - var(--pseudo-radius));--
y5:100%;padding-top:0;display:flex;background:var(--background-color-base,#fff);--pseudo-
radius:2px;--pointer-height:8px;--pointer-width:16px;--pointer-offset:26px;clip-path:polygon(var(--x2)
var(--y2),var(--x3) var(--y2),var(--x4) var(--y1),var(--x5) var(--y2),var(--x6) var(--y2),var(--x7) var(--
y3),var(--x7) var(--y4),var(--x6) var(--y5),var(--x2) var(--y5),var(--x1) var(--y4),var(--x1) var(--y3))}.mwe-
[Link]-popups-is-tall{flex-direction:row}.[Link]-popups-is-tall .mwe-popups-
discreet{order:1}.[Link]-popups-is-tall .mwe-popups-discreet .mwe-popups-
thumbnail{width:203px;box-sizing:border-box;height:250px}.[Link]-popups-is-not-
tall .mwe-popups-thumbnail{width:320px;height:192px}.[Link]-popups-is-not-tall .mwe-
popups-container{flex-direction:column}.mwe-popups::before{display:none}.mwe-
popups::after{display:none}[Link] .[Link]-x .mwe-popups-container,[Link] .mwe-
[Link]-x-y .mwe-popups-container,[Link] .mwe-popups:not(.flipped-x):not(.flipped-x-
y) .mwe-popups-container{--x3:calc(100% - var(--pointer-offset) - (var(--pointer-width) / 2));--
x4:calc(100% - var(--pointer-offset));--x5:calc(100% - var(--pointer-offset) + (var(--pointer-width) /
2))}}[Link]-theme-clientpref-night .mwe-popups{box-shadow:0 30px 90px -20px
rgba(255,255,255,0.3),0 0 1px 1px rgba(255,255,255,0.05)}[Link]-theme-clientpref-night .mwe-
[Link]-popups-no-image-pointer::before{content:'';position:absolute;border:8px solid var(--
border-color-transparent,transparent);border-top:0;border-bottom:8px solid
rgba(255,255,255,0.07000000000000001);top:-8px;left:10px}[Link]-theme-clientpref-night .mwe-
popups-extract[dir='ltr']::after{ background-image:linear-gradient(to right,transparent,var(--
background-color-base,#fff) 50%)}[Link]-theme-clientpref-night .mwe-popups-
extract[dir='rtl']::after{ background-image:linear-gradient(to left,transparent,var(--background-color-
base,#fff) 50%)}@media (prefers-color-scheme:dark){[Link]-theme-clientpref-os .mwe-
popups{box-shadow:0 30px 90px -20px rgba(255,255,255,0.3),0 0 1px 1px
rgba(255,255,255,0.05)}[Link]-theme-clientpref-os .[Link]-popups-no-image-
pointer::before{content:'';position:absolute;border:8px solid var(--border-color-
transparent,transparent);border-top:0;border-bottom:8px solid
rgba(255,255,255,0.07000000000000001);top:-8px;left:10px}[Link]-theme-clientpref-os .mwe-
popups-extract[dir='ltr']::after{ background-image:linear-gradient(to right,transparent,var(--
background-color-base,#fff) 50%)}[Link]-theme-clientpref-os .mwe-popups-
extract[dir='rtl']::after{ background-image:linear-gradient(to left,transparent,var(--background-color-
base,#fff) 50%)}}.mwe-popups .mwe-popups-title{display:block;margin-bottom:12px}.mwe-popups-
[Link]-popups .mwe-popups-title{font-weight:normal;margin:0}.mwe-popups .mwe-
popups-title .popups-icon,.mwe-popups .mw-parser-output .popups-icon{margin:0 8px 0 0}.mwe-
[Link]-popups-type-generic .mwe-popups-extract,.[Link]-popups-type-
disambiguation .mwe-popups-extract{min-height:auto}.[Link]-popups-type-
generic .mwe-popups-read-link,.[Link]-popups-type-disambiguation .mwe-popups-read-
link{font-weight:bold;font-size:12px;text-decoration:none}.[Link]-popups-type-
generic .mwe-popups-extract:hover + footer .mwe-popups-read-link,.[Link]-popups-
type-disambiguation .mwe-popups-extract:hover + footer .mwe-popups-read-link,.mwe-
[Link]-popups-type-generic .mwe-popups-read-link:hover,.[Link]-popups-type-
disambiguation .mwe-popups-read-link:hover{text-decoration:underline}.mwe-popups-
overlay{background-color:rgba(255,255,255,0.9);z-
index:999;position:fixed;height:100%;width:100%;top:0;bottom:0;left:0;right:0;display:flex;justify-
content:center;align-items:center}#mwe-popups-svg{position:absolute;top:-1000px}.popups-
icon{min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-
align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.popups-
icon{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}.popups-icon--size-small{min-width:16px;min-
height:16px;width:1rem;height:1rem}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--size-small{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.popups-icon--size-small{ -webkit-mask-size:calc(max(1rem,16px));mask-
size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}.mwe-popups-overlay .[Link]-button--icon-only span
+ span,.mwe-popups .[Link]-button--icon-only span + span{display:block;position:absolute !
important; clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-
1px;border:0;padding:0;overflow:hidden}.cdx-button{display:inline-flex;align-items:center;justify-
content:center;gap:4px;box-sizing:border-box;min-width:32px;min-height:32px;max-
width:28rem;margin:0;border-width:1px;border-style:solid;border-radius:2px;padding-
right:11px;padding-left:11px;font-family:inherit;font-size:inherit;font-
weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-
transform:none;transition-property:background-color,color,border-color,box-shadow;transition-
duration:.1s}.cdx-button--size-large{min-width:44px;min-height:44px;padding-right:15px;padding-
left:15px}.cdx-button--icon-only{padding-right:5px;padding-left:5px}.[Link]-
button--size-large{padding-right:11px;padding-left:11px}.cdx-button::-moz-focus-
inner{border:0;padding:0}.cdx-button .cdx-button__icon,.cdx-button .cdx-icon{vertical-
align:middle}.cdx-button .cdx-icon{color:inherit}.cdx-button--fake-button,.cdx-button--fake-
button:hover,.cdx-button--fake-button:focus{text-decoration:none}.cdx-button:enabled,.cdx-
[Link]-button--fake-button--enabled{background-color:var(--background-color-interactive-
subtle,#f8f9fa);color:var(--color-base,#202122);border-color:var(--border-color-
base,#a2a9b1)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:enabled .cdx-button__icon,.[Link]-button--fake-button--enabled .cdx-
button__icon{background-color:var(--color-base,#202122)}}.cdx-button:enabled:hover,.cdx-
[Link]-button--fake-button--enabled:hover{background-color:var(--background-color-
base,#fff);color:var(--color-base--hover,#404244);cursor:pointer}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:enabled:hover .cdx-button__icon,.[Link]-
button--fake-button--enabled:hover .cdx-button__icon{background-color:var(--color-base--
hover,#404244)}}.cdx-button:enabled:active,.[Link]-button--fake-button--
enabled:active,.cdx-button:[Link]-button--is-active,.[Link]-button--fake-button--
[Link]-button--is-active{background-color:var(--background-color-
interactive,#eaecf0);color:var(--color-emphasized,#000);border-color:var(--border-color-
interactive,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:enabled:active .cdx-button__icon,.[Link]-button--fake-button--enabled:active .cdx-
button__icon,.cdx-button:[Link]-button--is-active .cdx-button__icon,.[Link]-button--
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-
emphasized,#000)}}.cdx-button:enabled:focus,.[Link]-button--fake-button--
enabled:focus{outline:1px solid transparent}.cdx-button:enabled:focus:not(:active):not(.cdx-button--
is-active),.[Link]-button--fake-button--enabled:focus:not(:active):not(.cdx-button--is-active)
{border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-
shadow-color-progressive--focus,#36c)}.cdx-button:[Link]-button--action-progressive,.cdx-
[Link]-button--action-progressive{color:var(--color-
progressive,#36c)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive .cdx-button__icon,.[Link]-button--fake-
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
progressive,#36c)}}.cdx-button:[Link]-button--action-progressive:hover,.[Link]-
[Link]-button--action-progressive:hover{color:var(--color-progressive--
hover,#447ff5);border-color:var(--border-color-progressive--hover,#447ff5)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-button--action-
progressive:hover .cdx-button__icon,.[Link]-button--
action-progressive:hover .cdx-button__icon{background-color:var(--color-progressive--
hover,#447ff5)}}.cdx-button:[Link]-button--action-progressive:active,.[Link]-button--
[Link]-button--action-progressive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--action-
[Link]-button--is-active{background-color:var(--background-color-progressive-
subtle,#eaf3ff);color:var(--color-progressive--active,#2a4b8d);border-color:var(--border-color-
progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:active .cdx-button__icon,.cdx-
button:[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-progressive--active,#2a4b8d)}}.cdx-button:[Link]-
button--action-destructive,.[Link]-button--action-
destructive{color:var(--color-destructive,#d73333)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-destructive .cdx-button__icon,.[Link]-
[Link]-button--action-destructive .cdx-button__icon{background-
color:var(--color-destructive,#d73333)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-button--action-
destructive:hover{color:var(--color-destructive--hover,#ff4242);border-color:var(--border-color-
destructive--hover,#ff4242)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:hover .cdx-button__icon{background-
color:var(--color-destructive--hover,#ff4242)}}.cdx-button:[Link]-button--action-
destructive:active,.[Link]-button--action-
destructive:active,.cdx-button:[Link]-button--is-active,.cdx-
[Link]-button--is-
active{background-color:var(--background-color-destructive-subtle,#fee7e6);color:var(--color-
destructive--active,#b32424);border-color:var(--border-color-destructive--
active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:active .cdx-button__icon,.cdx-
button:[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-destructive--active,#b32424)}}.cdx-button:[Link]-
button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-
[Link]-button--action-destructive:focus:not(:active):not(.cdx-button--is-active){border-
color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-
destructive--focus,#36c)}.cdx-button:[Link]-button--action-
progressive,.[Link]-button--
action-progressive{background-color:var(--background-color-progressive,#36c);color:var(--color-
inverted-fixed,#fff);border-color:var(--border-color-progressive,#36c)}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:[Link]-button--
action-progressive .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
inverted-fixed,#fff)}}.cdx-button:[Link]-button--action-
progressive:hover,.[Link]-
button--action-progressive:hover{background-color:var(--background-color-progressive--
hover,#447ff5);border-color:var(--border-color-progressive--hover,#447ff5)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-progressive:hover .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--action-progressive:hover .cdx-
button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:[Link]-button--
[Link]-button--action-progressive:active,.[Link]-button--fake-button--
[Link]-button--action-progressive:active,.cdx-button:[Link]-
[Link]-button--is-active,.[Link]-button--
[Link]-button--is-
active{background-color:var(--background-color-progressive--active,#2a4b8d);border-color:var(--
border-color-progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-
progressive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--action-
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-inverted-
fixed,#fff)}}.cdx-button:[Link]-button--action-
progressive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-button--
[Link]-button--action-progressive:focus:not(:active):not(.cdx-
button--is-active){border-color:var(--border-color-progressive--focus,#36c);box-shadow:inset 0 0 0
1px var(--box-shadow-color-progressive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-
inverted,#fff)}.cdx-button:[Link]-button--action-destructive,.cdx-
[Link]-button--action-
destructive{background-color:var(--background-color-destructive,#d73333);color:var(--color-
inverted-fixed,#fff);border-color:var(--border-color-destructive,#d73333)}@supports ((-webkit-mask-
image:none) or (mask-image:none)){.cdx-button:[Link]-button--
action-destructive .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive .cdx-button__icon{background-color:var(--color-
inverted-fixed,#fff)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-
button--action-destructive:hover{background-color:var(--background-color-destructive--
hover,#ff4242);border-color:var(--border-color-destructive--hover,#ff4242)}@supports ((-webkit-
mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-destructive:hover .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--action-destructive:hover .cdx-
button__icon{background-color:var(--color-inverted-fixed,#fff)}}.cdx-button:[Link]-button--
[Link]-button--action-destructive:active,.[Link]-button--fake-button--
[Link]-button--action-destructive:active,.cdx-button:[Link]-
[Link]-button--is-active,.[Link]-button--
[Link]-button--is-
active{background-color:var(--background-color-destructive--active,#b32424);border-color:var(--
border-color-destructive--active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:[Link]-button--action-
destructive:active .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.cdx-
[Link]-button--action-
[Link]-button--is-active .cdx-button__icon{background-color:var(--color-inverted-
fixed,#fff)}}.cdx-button:[Link]-button--action-
destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-button--fake-button--
[Link]-button--action-destructive:focus:not(:active):not(.cdx-
button--is-active){border-color:var(--border-color-destructive--focus,#36c);box-shadow:inset 0 0 0
1px var(--box-shadow-color-destructive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-
inverted,#fff)}.cdx-button:[Link]-button--weight-quiet,.[Link]-button--fake-button--
[Link]-button--weight-quiet{background-color:var(--background-color-
transparent,transparent);border-color:var(--border-color-transparent,transparent)}.cdx-
button:[Link]-button--weight-quiet:hover,.[Link]-
button--weight-quiet:hover{background-color:var(--background-color-button-quiet--
hover,rgba(0,24,73,.027))}.cdx-button:[Link]-button--weight-quiet:active,.[Link]-
[Link]-button--weight-quiet:active,.cdx-button:[Link]-button--
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-button-quiet--
active,rgba(0,24,73,.082));color:var(--color-emphasized,#000);border-color:var(--border-color-
interactive,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--weight-quiet:active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--weight-quiet:active .cdx-button__icon,.cdx-button:[Link]-button--
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--is-active .cdx-button__icon{background-color:var(--
color-emphasized,#000)}}.cdx-button:[Link]-button--action-
progressive,.[Link]-button--
action-progressive{color:var(--color-progressive,#36c)}@supports ((-webkit-mask-image:none) or
(mask-image:none)){.cdx-button:[Link]-button--action-
progressive .cdx-button__icon,.[Link]-button--weight-
[Link]-button--action-progressive .cdx-button__icon{background-color:var(--color-
progressive,#36c)}}.cdx-button:[Link]-button--action-
progressive:hover,.[Link]-
button--action-progressive:hover{background-color:var(--background-color-progressive-
subtle,#eaf3ff);color:var(--color-progressive--hover,#447ff5)}@supports ((-webkit-mask-image:none)
or (mask-image:none)){.cdx-button:[Link]-button--action-
progressive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-progressive:hover .cdx-button__icon{background-color:var(--color-
progressive--hover,#447ff5)}}.cdx-button:[Link]-button--action-
progressive:active,.[Link]-
button--action-progressive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-
progressive--active,#2a4b8d);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-
progressive--active,#2a4b8d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-progressive:active .cdx-
button__icon,.[Link]-button--
action-progressive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-button--weight-
[Link]-button--action-destructive,.[Link]-button--
[Link]-button--action-destructive{color:var(--color-destructive,#d73333)}@supports ((-
webkit-mask-image:none) or (mask-image:none)){.cdx-button:[Link]-
button--action-destructive .cdx-button__icon,.[Link]-
[Link]-button--action-destructive .cdx-button__icon{background-color:var(--color-
destructive,#d73333)}}.cdx-button:[Link]-button--action-
destructive:hover,.[Link]-
button--action-destructive:hover{background-color:var(--background-color-destructive-
subtle,#fee7e6);color:var(--color-destructive--hover,#ff4242)}@supports ((-webkit-mask-image:none)
or (mask-image:none)){.cdx-button:[Link]-button--action-
destructive:hover .cdx-button__icon,.[Link]-button--
[Link]-button--action-destructive:hover .cdx-button__icon{background-color:var(--color-
destructive--hover,#ff4242)}}.cdx-button:[Link]-button--action-
destructive:active,.[Link]-
button--action-destructive:active,.cdx-button:[Link]-button--action-
[Link]-button--is-active,.[Link]-button--weight-
[Link]-button--is-active{background-color:var(--background-color-
destructive--active,#b32424);color:var(--color-inverted-fixed,#fff);border-color:var(--border-color-
destructive--active,#b32424)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--action-destructive:active .cdx-
button__icon,.[Link]-button--
action-destructive:active .cdx-button__icon,.cdx-button:[Link]-
[Link]-button--is-active .cdx-button__icon,.[Link]-button--fake-
[Link]-button--is-active .cdx-
button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-button--weight-
[Link]-button--action-destructive:focus:not(:active):not(.cdx-button--is-active),.[Link]-
[Link]-button--action-
destructive:focus:not(:active):not(.cdx-button--is-active){border-color:var(--border-color-
destructive--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-color-destructive--
focus,#36c)}.cdx-button:disabled,.[Link]-button--fake-button--disabled{background-
color:var(--background-color-disabled,#c8ccd1);color:var(--color-inverted,#fff);border-color:var(--
border-color-transparent,transparent)}@supports ((-webkit-mask-image:none) or (mask-
image:none)){.cdx-button:disabled .cdx-button__icon,.[Link]-button--fake-button--
disabled .cdx-button__icon{background-color:var(--color-inverted,#fff)}}.cdx-button:[Link]-
button--weight-quiet,.[Link]-button--weight-
quiet{background-color:var(--background-color-transparent,transparent);color:var(--color-
disabled,#72777d)}@supports ((-webkit-mask-image:none) or (mask-image:none)){.cdx-
button:[Link]-button--weight-quiet .cdx-button__icon,.[Link]-button--fake-button--
[Link]-button--weight-quiet .cdx-button__icon{background-color:var(--color-
disabled,#72777d)}}.cdx-icon{color:var(--color-base,#202122);display:inline-flex;align-
items:center;justify-content:center;vertical-align:text-bottom}.cdx-icon
svg{fill:currentcolor;width:100%;height:100%}.cdx-icon--x-small{min-width:12px;min-
height:12px;width:.75rem;height:.75rem}.cdx-icon--small{min-width:16px;min-
height:16px;width:1rem;height:1rem}.cdx-icon--medium{min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem}.cdx-icon--flipped svg{transform:scaleX(-1)}.cdx-
label{display:flex;flex-direction:column;line-height:1.375}.cdx-label__label__icon.cdx-icon{margin-
right:4px}.cdx-label__label__text{font-weight:700}[Link]-label{padding:0}fieldset [Link]-
label__label .cdx-label__label__text{font-weight:400}.cdx-label:not(.cdx-label--disabled) .cdx-
label__label__optional-flag,.cdx-label:not(.cdx-label--disabled) .cdx-label__description{color:var(--
color-subtle,#54595d)}.cdx-label--disabled,.cdx-label--disabled .cdx-label__label__icon{color:var(--
color-disabled,#72777d)}.cdx-label--visually-
hidden{display:block;clip:rect(1px,1px,1px,1px);position:absolute!
important;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}.cdx-
label:not(.cdx-label--visually-hidden){padding-bottom:8px}@media screen and (min-width:640px)
{.cdx-label:not(.cdx-label--visually-hidden){padding-bottom:4px}}.cdx-checkbox{position:relative;min-
width:20px;min-height:20px}.cdx-checkbox:not(.cdx-checkbox--inline){display:flex;margin-
bottom:12px}.cdx-checkbox:not(.cdx-checkbox--inline):last-child{margin-bottom:0}.cdx-checkbox--
inline{display:inline-flex;margin-right:16px;white-space:nowrap}.cdx-checkbox--inline:last-
child{margin-right:0}.cdx-checkbox__label,.cdx-checkbox__label.cdx-label{display:inline-
flex;position:relative;z-index:0;padding-left:calc(1.25rem + 8px);line-height:1.4285714}.cdx-
checkbox__label.cdx-label{padding-bottom:0}.cdx-checkbox__label.cdx-label .cdx-
label__label__text{font-weight:400}.cdx-checkbox--inline .cdx-checkbox__label{display:inline}.cdx-
checkbox__icon{background-color:var(--background-color-base-
fixed,#fff);position:absolute;left:0;box-sizing:border-box;min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;border-width:1px;border-style:solid;transition-
property:background-color,color,border-color,box-shadow;transition-duration:.1s}.cdx-
checkbox__input{opacity:0;position:absolute;left:0;z-index:1;min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;margin:0;font-size:inherit;cursor:inherit}.cdx-
checkbox:hover>.cdx-checkbox__input:enabled,.cdx-checkbox:hover>.cdx-
checkbox__input:enabled~.cdx-label .cdx-label__label,.cdx-checkbox:hover>.cdx-
checkbox__input:enabled~.cdx-checkbox__label:not(.cdx-label){cursor:pointer}.cdx-
checkbox__icon{background-size:0 0;border-radius:2px}.cdx-checkbox__input:indeterminate+.cdx-
checkbox__icon:before{content:" ";background-color:var(--background-color-base-
fixed,#fff);position:absolute;top:calc(50% - .5px);right:3px;left:3px;height:2px}.cdx-
checkbox__input:checked:not(:indeterminate)+.cdx-checkbox__icon:before{content:" ";background-
image:url('data:image/svg+xml;utf8,<svg xmlns="[Link] width="20"
height="20" viewBox="0 0 20 20"><path fill="%23fff" d="M7 14.17L2.83 10l-1.41 1.41L7 17 19 5l-
1.41-1.42z"/></svg>');background-position:center;background-repeat:no-repeat;background-
size:1rem 1rem;position:absolute;width:100%;height:100%}.cdx-checkbox__input:enabled+.cdx-
checkbox__icon{border-color:var(--border-color-input-binary,#72777d)}.cdx-
checkbox__input:enabled:hover+.cdx-checkbox__icon{border-color:var(--border-color-input-binary--
hover,#447ff5)}.cdx-checkbox__input:enabled:active+.cdx-checkbox__icon{background-color:var(--
background-color-progressive--active,#2a4b8d);border-color:var(--border-color-progressive--
active,#2a4b8d)}.cdx-checkbox__input:enabled:focus:not(:active)+.cdx-checkbox__icon{border-
color:var(--border-color-input-binary--focus,#36c);box-shadow:inset 0 0 0 1px var(--box-shadow-
color-progressive--focus,#36c);outline:1px solid transparent}.cdx-
checkbox__input:enabled:checked+.cdx-checkbox__icon,.cdx-
checkbox__input:enabled:indeterminate+.cdx-checkbox__icon{background-color:var(--background-
color-input-binary--checked,#36c);border-color:var(--border-color-input-binary--checked,#36c)}.cdx-
checkbox__input:enabled:checked:hover+.cdx-checkbox__icon,.cdx-
checkbox__input:enabled:indeterminate:hover+.cdx-checkbox__icon{background-color:var(--
background-color-progressive--hover,#447ff5);border-color:var(--border-color-input-binary--
hover,#447ff5)}.cdx-checkbox__input:enabled:checked:active+.cdx-checkbox__icon,.cdx-
checkbox__input:enabled:indeterminate:active+.cdx-checkbox__icon{background-color:var(--
background-color-progressive--active,#2a4b8d);border-color:var(--border-color-progressive--
active,#2a4b8d)}.cdx-checkbox__input:enabled:checked:focus:not(:active):not(:hover)+.cdx-
checkbox__icon,.cdx-checkbox__input:enabled:indeterminate:focus:not(:active):not(:hover)+.cdx-
checkbox__icon{background-color:var(--background-color-input-binary--checked,#36c);border-
color:var(--border-color-input-binary--checked,#36c)}.cdx-
checkbox__input:enabled:checked:focus:not(:active)+.cdx-checkbox__icon,.cdx-
checkbox__input:enabled:indeterminate:focus:not(:active)+.cdx-checkbox__icon{box-shadow:inset 0
0 0 1px var(--box-shadow-color-progressive--focus,#36c),inset 0 0 0 2px var(--box-shadow-color-
inverted,#fff)}.cdx-checkbox--status-error .cdx-checkbox__input:enabled+.cdx-
checkbox__icon{border-color:var(--border-color-error,#b32424)}.cdx-checkbox--status-error .cdx-
checkbox__input:enabled:hover+.cdx-checkbox__icon{border-color:var(--border-color-error--
hover,#ff4242)}.cdx-checkbox--status-error .cdx-checkbox__input:enabled:active+.cdx-
checkbox__icon{background-color:var(--background-color-error--active,#b32424);border-color:var(--
border-color-transparent,transparent)}.cdx-checkbox--status-error .cdx-
checkbox__input:enabled:focus+.cdx-checkbox__icon{border-color:var(--border-color-progressive--
focus,#36c)}.cdx-checkbox--status-error .cdx-checkbox__input:enabled:checked+.cdx-
checkbox__icon,.cdx-checkbox--status-error .cdx-checkbox__input:enabled:indeterminate+.cdx-
checkbox__icon{background-color:var(--background-color-error,#d73333);border-color:var(--border-
color-transparent,transparent)}.cdx-checkbox--status-error .cdx-
checkbox__input:enabled:checked:hover+.cdx-checkbox__icon,.cdx-checkbox--status-error .cdx-
checkbox__input:enabled:indeterminate:hover+.cdx-checkbox__icon{background-color:var(--
background-color-error--hover,#ff4242);border-color:var(--border-color-error--hover,#ff4242)}.cdx-
checkbox--status-error .cdx-checkbox__input:enabled:checked:active+.cdx-checkbox__icon,.cdx-
checkbox--status-error .cdx-checkbox__input:enabled:indeterminate:active+.cdx-
checkbox__icon{background-color:var(--background-color-error--active,#b32424);border-color:var(--
border-color-transparent,transparent)}.cdx-checkbox--status-error .cdx-
checkbox__input:enabled:checked:focus:not(:active)+.cdx-checkbox__icon,.cdx-checkbox--status-
error .cdx-checkbox__input:enabled:indeterminate:focus:not(:active)+.cdx-
checkbox__icon{background-color:var(--background-color-error,#d73333);border-color:var(--border-
color-progressive--focus,#36c)}.cdx-checkbox__input:disabled+.cdx-checkbox__icon{background-
color:var(--background-color-disabled,#c8ccd1);border-color:var(--border-color-
disabled,#c8ccd1)}.cdx-checkbox__input:disabled~.cdx-checkbox__label,.cdx-
checkbox__input:disabled~.cdx-checkbox__label.cdx-label{color:var(--color-disabled,#72777d)}</
style><style>

.popups-icon--reference-generic{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--reference-
generic{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-generic{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--reference-generic{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m15 10-2.78-
2.78L9.44 10V1H5a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0
00-2-2z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .popups-icon--reference-generic,.cdx-button--weight-
[Link]-button--action-progressive .popups-icon--reference-generic,.cdx-button--weight-
[Link]-button--action-destructive .popups-icon--reference-generic{filter:invert(var(--filter-
invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-generic{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m15 10-2.78-
2.78L9.44 10V1H5a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0 00-2-2z\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"m15 10-2.78-2.78L9.44 10V1H5a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2
0 002-2V3a2 2 0 00-2-2z\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--
reference-book{ min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.popups-icon--reference-book{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.popups-icon--reference-book{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--reference-book{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M15 2a7.65 7.65
0 00-5 2 7.65 7.65 0 00-5-2H1v15h4a7.65 7.65 0 015 2 7.65 7.65 0 015-2h4V2zm2.5 13.5H14a4.38
4.38 0 00-3 1V5s1-1.5 4-1.5h2.5z\"/><path d=\"M9 3.5h2v1H9z\"/></svg>");filter:invert(var(--filter-
invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .popups-icon--reference-book,.[Link]-button--action-
progressive .popups-icon--reference-book,.[Link]-button--action-
destructive .popups-icon--reference-book{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.popups-icon--reference-
book{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M15 2a7.65 7.65
0 00-5 2 7.65 7.65 0 00-5-2H1v15h4a7.65 7.65 0 015 2 7.65 7.65 0 015-2h4V2zm2.5 13.5H14a4.38
4.38 0 00-3 1V5s1-1.5 4-1.5h2.5z\"/><path d=\"M9 3.5h2v1H9z\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M15 2a7.65 7.65 0 00-5 2 7.65 7.65 0 00-5-2H1v15h4a7.65 7.65 0
015 2 7.65 7.65 0 015-2h4V2zm2.5 13.5H14a4.38 4.38 0 00-3 1V5s1-1.5 4-1.5h2.5z\"/><path d=\"M9
3.5h2v1H9z\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--reference-
book[dir='rtl'],html[dir='rtl'] .popups-icon--reference-book:not([dir='ltr']){transform:scaleX(-
1)}.popups-icon--reference-journal{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--reference-
journal{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-journal{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--reference-journal{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 18.5A1.5 1.5
0 003.5 20H5V0H3.5A1.5 1.5 0 002 1.5zM6 0v20h10a2 2 0 002-2V2a2 2 0 00-2-2zm7 8H8V7h5zm3-
2H8V5h8z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--reference-journal,.cdx-
[Link]-button--action-progressive .popups-icon--reference-journal,.cdx-button--
[Link]-button--action-destructive .popups-icon--reference-journal{filter:invert(var(--
filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-journal{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 18.5A1.5 1.5
0 003.5 20H5V0H3.5A1.5 1.5 0 002 1.5zM6 0v20h10a2 2 0 002-2V2a2 2 0 00-2-2zm7 8H8V7h5zm3-
2H8V5h8z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 18.5A1.5 1.5
0 003.5 20H5V0H3.5A1.5 1.5 0 002 1.5zM6 0v20h10a2 2 0 002-2V2a2 2 0 00-2-2zm7 8H8V7h5zm3-
2H8V5h8z\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--reference-
journal[dir='rtl'],html[dir='rtl'] .popups-icon--reference-journal:not([dir='ltr']){transform:scaleX(-
1)}.popups-icon--reference-news{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--reference-news{background-
position:center;background-repeat:no-repeat;background-size:calc(max(1.25rem,20px))}}@supports
(-webkit-mask-image:none) or (mask-image:none){.popups-icon--reference-news{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--reference-news{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M5 2a2 2 0 00-2 2v12a1 1 0 01-1-1V5h-.5A1.5 1.5 0 000 6.5v10A1.5
1.5 0 001.5 18H18a2 2 0 002-2V4a2 2 0 00-2-2zm1 2h11v4H6zm0 6h6v1H6zm0 2h6v1H6zm0
2h6v1H6zm7-4h4v5h-4z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-
icon-base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--reference-
news,.[Link]-button--action-progressive .popups-icon--reference-
news,.[Link]-button--action-destructive .popups-icon--reference-
news{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none)
or (mask-image:none){.popups-icon--reference-news{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M5 2a2 2 0 00-2 2v12a1 1 0 01-1-1V5h-.5A1.5 1.5 0 000 6.5v10A1.5
1.5 0 001.5 18H18a2 2 0 002-2V4a2 2 0 00-2-2zm1 2h11v4H6zm0 6h6v1H6zm0 2h6v1H6zm0
2h6v1H6zm7-4h4v5h-4z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M5 2a2 2 0 00-2
2v12a1 1 0 01-1-1V5h-.5A1.5 1.5 0 000 6.5v10A1.5 1.5 0 001.5 18H18a2 2 0 002-2V4a2 2 0 00-2-
2zm1 2h11v4H6zm0 6h6v1H6zm0 2h6v1H6zm0 2h6v1H6zm7-4h4v5h-4z\"/></svg>");background-
color:var(--color-base,#202122)}}.popups-icon--reference-news[dir='rtl'],html[dir='rtl'] .popups-icon--
reference-news:not([dir='ltr']){transform:scaleX(-1)}.popups-icon--reference-web{ min-
width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--reference-
web{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-web{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--reference-web{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm2 1.5A1.5 1.5 0 112.5 5 1.5 1.5 0 014 3.5M18
16H2V8h16z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--reference-web,.cdx-
[Link]-button--action-progressive .popups-icon--reference-web,.cdx-button--
[Link]-button--action-destructive .popups-icon--reference-web{filter:invert(var(--filter-
invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--reference-web{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm2 1.5A1.5 1.5 0 112.5 5 1.5 1.5 0 014 3.5M18
16H2V8h16z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm2 1.5A1.5 1.5 0 112.5 5 1.5 1.5 0 014 3.5M18
16H2V8h16z\"/></svg>");background-color:var(--color-base,#202122)}}.popups-icon--reference-
web[dir='rtl'],html[dir='rtl'] .popups-icon--reference-web:not([dir='ltr']){transform:scaleX(-
1)}.popups-icon--preview-disambiguation{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.popups-icon--preview-
disambiguation{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none)
{.popups-icon--preview-disambiguation{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.popups-icon--preview-disambiguation{background-image:url("data:image/
svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M7 0a2 2 0 00-2 2h9a2 2 0 012 2v12a2 2 0 002-2V2a2 2 0
00-2-2z\"/><path d=\"M13 20a2 2 0 002-2V5a2 2 0 00-2-2H4a2 2 0 00-2 2v13a2 2 0 002 2zM9
5h4v5H9zM4 5h4v1H4zm0 2h4v1H4zm0 2h4v1H4zm0 2h9v1H4zm0 2h9v1H4zm0
2h9v1H4z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .popups-icon--preview-
disambiguation,.[Link]-button--action-progressive .popups-icon--preview-
disambiguation,.[Link]-button--action-destructive .popups-icon--preview-
disambiguation{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.popups-icon--preview-disambiguation{ -webkit-mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M7 0a2 2 0 00-2 2h9a2 2 0 012 2v12a2 2 0 002-2V2a2 2 0
00-2-2z\"/><path d=\"M13 20a2 2 0 002-2V5a2 2 0 00-2-2H4a2 2 0 00-2 2v13a2 2 0 002 2zM9
5h4v5H9zM4 5h4v1H4zm0 2h4v1H4zm0 2h4v1H4zm0 2h9v1H4zm0 2h9v1H4zm0
2h9v1H4z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7 0a2 2 0 00-2
2h9a2 2 0 012 2v12a2 2 0 002-2V2a2 2 0 00-2-2z\"/><path d=\"M13 20a2 2 0 002-2V5a2 2 0 00-2-
2H4a2 2 0 00-2 2v13a2 2 0 002 2zM9 5h4v5H9zM4 5h4v1H4zm0 2h4v1H4zm0 2h4v1H4zm0
2h9v1H4zm0 2h9v1H4zm0 2h9v1H4z\"/></svg>");background-color:var(--color-
base,#202122)}}.popups-icon--preview-disambiguation[dir='rtl'],html[dir='rtl'] .popups-icon--
preview-disambiguation:not([dir='ltr']){transform:scaleX(-1)} #mw-content-text .reference
a[href*='#'] *{pointer-events:none}.[Link]-popups-type-reference .mwe-popups-
container .mwe-popups-title .popups-icon--reference-note{display:none}.[Link]-popups-
type-reference .mwe-popups-container .mwe-popups-extract{margin-right:0;max-
height:inherit}.[Link]-popups-type-reference .mwe-popups-container .mwe-popups-
extract .mwe-popups-scroll{max-height:343px;overflow:auto;padding-right:16px}.[Link]-
popups-type-reference .mwe-popups-container .mwe-popups-extract .mw-parser-output{overflow-
wrap:break-word}.[Link]-popups-type-reference .mwe-popups-container .mwe-popups-
extract::after{display:none}.[Link]-popups-type-reference .mwe-popups-
container .mwe-popups-extract .mwe-popups-
fade{position:absolute;width:100%;height:20px;background-color:transparent;background-
image:linear-gradient(rgba(255,255,255,0),#ffffff);opacity:0;pointer-events:none;transition:opacity
250ms ease}.[Link]-popups-type-reference .mwe-popups-container .mwe-popups-
[Link]-popups-fade-out .mwe-popups-fade{opacity:1}.[Link]-popups-type-
reference .mwe-popups-container .mwe-collapsible-placeholder{font-weight:bold;margin:1em
0;position:relative}</style><style>

.mw-mmv-dialog{position:fixed;right:58px;display:none;width:450px;height:350px;background-
color:var(--background-color-base,#fff);box-shadow:0 20px 48px 0 rgba(0,0,0,0.2);z-index:1004}.mw-
mmv-dialog .mw-mmv-dialog-down-arrow{right:48px;background-color:var(--background-color-
base,#fff);width:20px;height:20px;transform:rotate(-45deg);position:fixed}.mw-mmv-dialog .mw-
mmv-dialog-warning{background-color:var(--background-color-warning-subtle,#fef6e7)}.mw-mmv-
dialog .mw-mmv-pt-0{padding-top:0}.mw-mmv-dialog .mw-mmv-pb-0{padding-bottom:0}.mw-mmv-
dialog .mw-mmv-mt-75{margin-top:12px}.mw-mmv-dialog .mw-mmv-mb-75{margin-
bottom:12px}.mw-mmv-dialog .mw-mmv-pb-150{padding-bottom:24px}.mw-mmv-dialog .mw-mmv-
gap-50{gap:8px}.mw-mmv-dialog .mw-mmv-flex{display:flex}.mw-mmv-dialog .mw-mmv-flex-grow-
1{flex-grow:1}.mw-mmv-dialog .cdx-button__icon--copy{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-dialog .cdx-button__icon--
copy{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-dialog .cdx-button__icon--copy{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.mw-mmv-dialog
.cdx-button__icon--copy{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M3
3h8v2h2V3c0-1.1-.895-2-2-2H3c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2 2h2v-2H3z\"/><path d=\"M9
9h8v8H9zm0-2c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2 2h8c1.1 0 2-.895
2-2V9c0-1.1-.895-2-2-2z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-dialog .cdx-button__icon--
copy,.[Link]-button--action-progressive .mw-mmv-dialog .cdx-
button__icon--copy,.[Link]-button--action-destructive .mw-mmv-
dialog .cdx-button__icon--copy{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-
webkit-mask-image:none) or (mask-image:none){.mw-mmv-dialog .cdx-button__icon--copy{ -webkit-
mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M3 3h8v2h2V3c0-1.1-.895-2-2-2H3c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2
2h2v-2H3z\"/><path d=\"M9 9h8v8H9zm0-2c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2 2h8c1.1 0 2-.895 2-
2V9c0-1.1-.895-2-2-2z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M3
3h8v2h2V3c0-1.1-.895-2-2-2H3c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2 2h2v-2H3z\"/><path d=\"M9
9h8v8H9zm0-2c-1.1 0-2 .895-2 2v8c0 1.1.895 2 2 2h8c1.1 0 2-.895
2-2V9c0-1.1-.895-2-2-2z\"/></svg>");transition-property:background-color;transition-
duration:100ms}}.mw-mmv-dialog .cdx-button__icon--copy[dir='rtl'],html[dir='rtl'] .mw-mmv-
dialog .cdx-button__icon--copy:not([dir='ltr']){transform:scaleX(-1)} .mw-mmv-reuse-
dialog{height:initial;min-height:300px;bottom:95px}.mw-mmv-reuse-dialog .mw-mmv-dialog-down-
arrow{bottom:105px}.mw-mmv-reuse-dialog .mw-mmv-dialog-warning{padding:15px 30px} .mw-
mmv-download-dialog{height:initial;position:fixed;bottom:135px}.mw-mmv-download-dialog .mw-
mmv-dialog-down-arrow{bottom:145px;background-color:var(--background-color-base,#fff)}.mw-
mmv-download-dialog .mw-mmv-dialog-warning{padding:10px 30px}.mw-mmv-download-
dialog .cdx-button__icon--download{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-download-dialog .cdx-
button__icon--download{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-download-dialog .cdx-button__icon--download{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-download-dialog .cdx-button__icon--
download{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M17 12v5H3v-
5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path d=\"M15 9h-4V1H9v8H5l5
6z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-download-dialog .cdx-button__icon--
download,.[Link]-button--action-progressive .mw-mmv-download-
dialog .cdx-button__icon--download,.[Link]-button--action-
destructive .mw-mmv-download-dialog .cdx-button__icon--download{filter:invert(var(--filter-invert-
primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-
download-dialog .cdx-button__icon--download{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M17 12v5H3v-5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path
d=\"M15 9h-4V1H9v8H5l5 6z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M17 12v5H3v-
5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path d=\"M15 9h-4V1H9v8H5l5
6z\"/></svg>");transition-property:background-color;transition-duration:100ms}} .mw-mmv-
options-dialog{top:85px;height:auto;z-index:1004;padding:15px}.[Link]-mmv-
enable-confirmation-shown{background-color:#00af89;box-shadow:0 2px 0 #00634e}.mw-mmv-
[Link]-mmv-enable-confirmation-shown .mw-mmv-dialog-down-arrow{background-
color:#00af89}.[Link]-mmv-disable-confirmation-shown,.mw-mmv-options-
[Link]-mmv-disable-confirmation-shown .mw-mmv-dialog-down-arrow,.mw-mmv-options-
[Link]-mmv-enable-div-shown .mw-mmv-dialog-down-arrow{background-color:var(--
background-color-base,#fff)}.mw-mmv-options-dialog .mw-mmv-dialog-down-arrow{top:95px}.mw-
mmv-options-dialog .mw-mmv-enable-confirmation,.mw-mmv-options-dialog .mw-mmv-disable-
confirmation,.mw-mmv-options-dialog .mw-mmv-options-enable,.mw-mmv-options-dialog .mw-
mmv-options-disable{position:relative;display:none}.mw-mmv-options-dialog .mw-mmv-enable-
[Link]-mmv-shown,.mw-mmv-options-dialog .[Link]-mmv-
shown,.mw-mmv-options-dialog .[Link]-mmv-shown,.mw-mmv-options-
dialog .[Link]-mmv-shown{display:block}.mw-mmv-options-dialog .mw-mmv-
confirmation-close{position:absolute;right:0;top:0; min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom;cursor:pointer}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-
mmv-options-dialog .mw-mmv-confirmation-close{background-position:center;background-
repeat:no-repeat;background-size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none)
or (mask-image:none){.mw-mmv-options-dialog .mw-mmv-confirmation-close{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-options-dialog .mw-mmv-
confirmation-close{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-options-dialog .mw-mmv-confirmation-
close,.[Link]-button--action-progressive .mw-mmv-options-dialog .mw-
mmv-confirmation-close,.[Link]-button--action-destructive .mw-mmv-
options-dialog .mw-mmv-confirmation-close{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-options-
dialog .mw-mmv-confirmation-close{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");background-color:var(--color-base,#202122)}}.mw-mmv-options-dialog .mw-mmv-
disable-confirmation .mw-mmv-options-dialog-header{color:var(--color-
base,#202122);padding:0}.mw-mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-
options-text-header{color:var(--color-base,#202122)}.mw-mmv-options-dialog .mw-mmv-enable-
confirmation .mw-mmv-options-dialog-header{color:#fff;padding:0}.mw-mmv-options-dialog .mw-
mmv-enable-confirmation .mw-mmv-options-text-header{color:#fff}.mw-mmv-options-dialog .mw-
mmv-disable-confirmation,.mw-mmv-options-dialog .mw-mmv-enable-confirmation{padding:0}.mw-
mmv-options-dialog .mw-mmv-disable-confirmation .mw-mmv-options-text,.mw-mmv-options-
dialog .mw-mmv-enable-confirmation .mw-mmv-options-text{left:0}.mw-mmv-options-
submit{margin-top:10px}.mw-mmv-options-text{left:68px;right:0;line-height:1.4}.mw-mmv-options-
enable .mw-mmv-options-text{top:70px}.mw-mmv-options-subcontainer .mw-mmv-options-
text{margin-left:68px}.mw-mmv-options-cancel-button,.mw-mmv-options-submit-
button{float:right}.mw-mmv-options-dialog-header{padding-top:0;font-weight:normal;font-
size:1.25em;color:var(--color-base,#202122)}.mw-mmv-options-enable .mw-mmv-options-dialog-
header{top:35px}.mw-mmv-options-text-header,.mw-mmv-options-text-body{margin:0;font-
size:1em;color:var(--color-subtle,#54595d)}.mw-mmv-options-enable-alert{background-color:var(--
background-color-base,#fff);color:var(--color-base,#202122);position:absolute;left:-15px;right:-
15px;top:-15px;border-top-right-radius:2px;border-top-left-radius:2px;padding:10px 15px;font-
weight:500} .mw-mmv-image{display:table-cell;width:100%;height:100%;vertical-align:middle;-
webkit-user-select:none;-moz-user-select:none;user-select:none}.mw-mmv-
[Link]{display:none}.[Link]{background-color:#202122}.[Link]
a,.[Link] a:visited{cursor:pointer;color:var(--color-progressive,#36c)}.mw-mmv-image
.error-box{background:url(/w/extensions/MultimediaViewer/resources/mmv/ui/img/error-media-
[Link]?a74c2) no-repeat 0 0;background-size:110px 110px;position:absolute;left:50%;margin-left:-
350px;top:50%;margin-top:-100px;padding:0 20px 0 160px;color:#fff;max-width:520px}.mw-mmv-
image .error-box .mw-mmv-error-text{font-size:48px}.mw-mmv-image .error-box .mw-mmv-error-
description{margin-top:30px;font-size:22px}.mw-mmv-image img{display:block;margin-
right:auto;margin-left:auto;cursor:zoom-in; }.mw-mmv-image [Link],.mw-mmv-image [Link],.mw-
mmv-image [Link],.mw-mmv-image [Link],.mw-mmv-image [Link],.mw-mmv-image
[Link]{background:url(/w/extensions/MultimediaViewer/resources/mmv/ui/[Link]?bdcf5)
repeat}.mw-mmv-image [Link]-mmv-dialog-is-open{cursor:default}.metadata-panel-is-open .mw-
mmv-image img{cursor:pointer}.[Link] img{display:none}.metadata-panel-is-
open .mw-mmv-image-wrapper{cursor:pointer} .mw-mmv-download-button,.mw-mmv-reuse-
button,.mw-mmv-options-button,.mw-mmv-close,.mw-mmv-fullscreen,.mw-mmv-next-image,.mw-
mmv-prev-image{cursor:pointer;position:fixed;background-color:transparent;background-repeat:no-
repeat;opacity:0.8;border:0;z-index:1003;-webkit-user-select:none;-moz-user-select:none;user-
select:none}.[Link]-mmv-dialog-open,.[Link]-mmv-
dialog-open,.[Link]-mmv-dialog-open,.[Link]-mmv-dialog-
open,.[Link]-mmv-dialog-open,.[Link]-mmv-dialog-open,.mw-
[Link]-mmv-dialog-open,.mw-mmv-download-button:hover,.mw-mmv-reuse-
button:hover,.mw-mmv-options-button:hover,.mw-mmv-close:hover,.mw-mmv-fullscreen:hover,.mw-
mmv-next-image:hover,.mw-mmv-prev-image:hover{text-decoration:none;opacity:1}.mw-mmv-
[Link],.[Link],.[Link],.mw-
[Link],.[Link],.[Link],.mw-mmv-prev-
[Link]{display:none}.cursor-hidden .mw-mmv-download-button,.cursor-hidden .mw-mmv-
reuse-button,.cursor-hidden .mw-mmv-close,.cursor-hidden .mw-mmv-fullscreen,.cursor-
hidden .mw-mmv-next-image,.cursor-hidden .mw-mmv-prev-image{ cursor:none}.mw-mmv-
download-button,.mw-mmv-reuse-button,.mw-mmv-options-button,.mw-mmv-close,.mw-mmv-
fullscreen{right:5px;left:auto;transition:opacity 0.25s;background-position:center;margin-
top:14px;width:52px}.mw-mmv-next-image,.mw-mmv-prev-image{top:-
999px;width:80px;height:120px;transition:opacity 0.25s,margin 0.25s}.mw-mmv-next-
[Link],.[Link]{display:none; cursor:none}.mw-mmv-close{padding-
right:24px;top:5px; min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.mw-mmv-close{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-close{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-
mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
close{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07
4.34 4.34 17.07l-1.41-1.41L15.66 2.93z\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-close,.[Link]-button--action-progressive .mw-
mmv-close,.[Link]-button--action-destructive .mw-mmv-
close{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none)
or (mask-image:none){.mw-mmv-close{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}}.mw-mmv-fullscreen{padding-
right:24px;top:42px; min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.mw-mmv-fullscreen{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-fullscreen{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
fullscreen{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M1
1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14
4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-fullscreen,.[Link]-button--action-
progressive .mw-mmv-fullscreen,.[Link]-button--action-destructive .mw-
mmv-fullscreen{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.mw-mmv-fullscreen{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M1 1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14 4h-4v2h6v-6h-2zm0-
16h-4v2h4v4h2V1z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M1
1v6h2V3h4V1zm2 12H1v6h6v-2H3zm14
4h-4v2h6v-6h-2zm0-16h-4v2h4v4h2V1z\"/></svg>");background-color:var(--color-inverted-
fixed,#fff)}}.mw-mmv-options-button{padding-right:24px;top:79px; min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-options-button{background-
position:center;background-repeat:no-repeat;background-size:calc(max(1.25rem,20px))}}@supports
(-webkit-mask-image:none) or (mask-image:none){.mw-mmv-options-button{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-options-button{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><g transform=\"translate(10 10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-
10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-options-button,.cdx-
[Link]-button--action-progressive .mw-mmv-options-button,.cdx-button--
[Link]-button--action-destructive .mw-mmv-options-button{filter:invert(var(--filter-
invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-options-button{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><g transform=\"translate(10
10)\"><path id=\"cdx-icon-settings-a\" d=\"M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3\"/><use
xlink:href=\"%23cdx-icon-settings-a\" transform=\"rotate(45)\"/><use xlink:href=\"%23cdx-icon-
settings-a\" transform=\"rotate(90)\"/><use xlink:href=\"%23cdx-icon-settings-a\"
transform=\"rotate(135)\"/></g><path d=\"M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0
010 7 3.5 3.5 0 010-7\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}}.jq-
fullscreened .mw-mmv-fullscreen{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.jq-fullscreened .mw-mmv-
fullscreen{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.jq-
fullscreened .mw-mmv-fullscreen{ -webkit-mask-size:calc(max(1.25rem,20px));mask-
size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.jq-fullscreened
.mw-mmv-fullscreen{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7
7V1H5v4H1v2zM5
19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z\"/></svg>");filter:invert(var(--filter-
invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .jq-fullscreened .mw-mmv-fullscreen,.[Link]-button--action-
progressive .jq-fullscreened .mw-mmv-fullscreen,.[Link]-button--action-
destructive .jq-fullscreened .mw-mmv-fullscreen{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.jq-fullscreened .mw-mmv-
fullscreen{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7
7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-8h4V5h-4V1h-2v6z\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M7 7V1H5v4H1v2zM5 19h2v-6H1v2h4zm10-4h4v-2h-6v6h2zm0-
8h4V5h-4V1h-2v6z\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}}.mw-mmv-next-
image{ min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-
align:text-bottom;right:1.25rem}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.mw-mmv-next-image{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-next-image{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
next-image{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7 1 5.6 2.5 13
10l-7.4 7.5L7 19l9-9z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-next-image,.cdx-button--
[Link]-button--action-progressive .mw-mmv-next-image,.cdx-button--weight-
[Link]-button--action-destructive .mw-mmv-next-image{filter:invert(var(--filter-invert-primary-
button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-next-
image{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7 1 5.6 2.5 13
10l-7.4 7.5L7 19l9-9z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M7 1 5.6 2.5 13
10l-7.4 7.5L7 19l9-9z\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}}.mw-mmv-next-
image[dir='rtl'],html[dir='rtl'] .mw-mmv-next-image:not([dir='ltr']){transform:scaleX(-1)}.mw-mmv-
next-image:hover{margin-right:-4px}.mw-mmv-prev-image{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom;left:1.25rem}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
prev-image{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-prev-image{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
prev-image{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4 10 9 9 1.4-
1.5L7 10l7.4-7.5L13 1z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-prev-image,.cdx-button--
[Link]-button--action-progressive .mw-mmv-prev-image,.cdx-button--weight-
[Link]-button--action-destructive .mw-mmv-prev-image{filter:invert(var(--filter-invert-primary-
button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-prev-
image{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4 10 9 9 1.4-
1.5L7 10l7.4-7.5L13 1z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4 10 9 9 1.4-
1.5L7 10l7.4-7.5L13 1z\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}}.mw-mmv-prev-
image[dir='rtl'],html[dir='rtl'] .mw-mmv-prev-image:not([dir='ltr']){transform:scaleX(-1)}.mw-mmv-
prev-image:hover{margin-left:-4px}.mw-mmv-reuse-button{padding-right:24px;bottom:105px; min-
width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-reuse-
button{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-reuse-button{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
reuse-button{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M12 6V2l7 7-7
7v-4c-5 0-8.5 1.5-11 5l.8-3 .2-.4A12 12 0 0112 6\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-reuse-button,.[Link]-button--action-
progressive .mw-mmv-reuse-button,.[Link]-button--action-
destructive .mw-mmv-reuse-button{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-reuse-button{ -
webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M12 6V2l7 7-7 7v-4c-5 0-8.5 1.5-11 5l.8-3 .2-.4A12 12 0 0112
6\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M12 6V2l7 7-7
7v-4c-5 0-8.5 1.5-11 5l.8-3 .2-.4A12 12 0 0112 6\"/></svg>");background-color:var(--color-inverted-
fixed,#fff)}}.mw-mmv-download-button{padding-right:24px;bottom:142px; min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-download-button{background-
position:center;background-repeat:no-repeat;background-size:calc(max(1.25rem,20px))}}@supports
(-webkit-mask-image:none) or (mask-image:none){.mw-mmv-download-button{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-download-button{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M17 12v5H3v-5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path
d=\"M15 9h-4V1H9v8H5l5 6z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--
opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-download-
button,.[Link]-button--action-progressive .mw-mmv-download-button,.cdx-
[Link]-button--action-destructive .mw-mmv-download-
button{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none)
or (mask-image:none){.mw-mmv-download-button{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M17 12v5H3v-5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path
d=\"M15 9h-4V1H9v8H5l5 6z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M17 12v5H3v-
5H1v5a2 2 0 002 2h14a2 2 0 002-2v-5z\"/><path d=\"M15 9h-4V1H9v8H5l5
6z\"/></svg>");background-color:var(--color-inverted-fixed,#fff)}} .mw-mmv-permission-
box{position:relative;width:90%;margin:10px 20px 0}.mw-mmv-permission-
[Link]{display:none}.mw-mmv-permission-box h3{margin:10px;padding:0;color:var(--color-
subtle,#54595d);font-size:0.95em}.mw-mmv-permission-box .mw-mmv-permission-
close{position:absolute;top:12px;right:8px; min-width:16px;min-
height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-
bottom;cursor:pointer;display:none}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.mw-mmv-permission-box .mw-mmv-permission-close{background-
position:center;background-repeat:no-repeat;background-size:calc(max(1rem,16px))}}@supports (-
webkit-mask-image:none) or (mask-image:none){.mw-mmv-permission-box .mw-mmv-permission-
close{ -webkit-mask-size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-
repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
permission-box .mw-mmv-permission-close{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-permission-box .mw-mmv-permission-
close,.[Link]-button--action-progressive .mw-mmv-permission-box .mw-
mmv-permission-close,.[Link]-button--action-destructive .mw-mmv-
permission-box .mw-mmv-permission-close{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-permission-
box .mw-mmv-permission-close{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m4.34 2.93 12.73
12.73-1.41 1.41L2.93 4.35z\"/><path d=\"M17.07 4.34 4.34 17.07l-1.41-1.41L15.66
2.93z\"/></svg>");background-color:var(--color-subtle,#54595d)}}.mw-mmv-permission-box .mw-
mmv-permission-text{position:relative;max-height:3.78em;overflow:hidden;margin:0 10px
10px;font-size:0.9em;line-height:1.4;color:var(--color-subtle,#54595d)}.mw-mmv-permission-
box .mw-mmv-permission-text .mw-mmv-permission-text-
fader{position:absolute;top:2.52em;width:100%;height:1.26em;background-image:linear-gradient(to
bottom,var(--background-color-transparent,transparent) 0%,white 100%);text-align:right}.mw-mmv-
permission-box .mw-mmv-permission-text .mw-mmv-permission-text-fader a{padding:3px 0 0
1em;background-color:#fff;font-size:1em}.mw-mmv-permission-box .mw-mmv-permission-
html{padding:0 15px 15px;display:none;max-height:400px;overflow:auto}.mw-mmv-permission-
[Link]-size .mw-mmv-permission-close{display:block}.[Link]-size .mw-mmv-
permission-text{display:none}.[Link]-size .mw-mmv-permission-
html{display:block;border-top:1px solid #f8f9fa} .mw-mmv-progress{background-color:var(--
background-color-disabled,#c8ccd1);background-
color:rgba(221,221,221,0.5);width:100%;height:14px;position:absolute;top:-14px}.mw-mmv-
[Link]{display:none}.mw-mmv-progress-percent{width:0;height:14px;background:linear-
gradient(-45deg,transparent 33%,rgba(0,0,0,0.1) 33%,rgba(0,0,0,0.1) 66%,transparent
66%),#36c;background-size:35px 20px,100% 100%,100% 100%;animation:mw-mmv-progress-
percent-animation 1.5s linear infinite}@keyframes mw-mmv-progress-percent-animation{0%
{background-position:0 0}100%{background-position:-70px 0}} .mw-mmv-stripe-
button{float:right}.[Link]{display:none}.[Link]-mmv-
description-page-button{margin:7px 10px}.[Link]-mmv-description-page-
button .cdx-button__icon{ min-width:20px;min-
height:20px;width:1.25rem;height:1.25rem;display:inline-block;vertical-align:text-bottom}@supports
not ((-webkit-mask-image:none) or (mask-image:none)){.[Link]-mmv-
description-page-button .cdx-button__icon{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.[Link]-mmv-description-page-button .cdx-button__icon{ -webkit-
mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.[Link]-mmv-description-
page-button .cdx-button__icon{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M5 1a2 2 0 00-2
2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0 00-2-2zm0 3h5v1H5zm0 2h5v1H5zm0 2h5v1H5zm10
7H5v-1h10zm0-2H5v-1h10zm0-2H5v-1h10zm0-2h-4V4h4z\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .[Link]-mmv-description-page-button .cdx-button__icon,.cdx-
[Link]-button--action-progressive .[Link]-mmv-
description-page-button .cdx-button__icon,.[Link]-button--action-
destructive .[Link]-mmv-description-page-button .cdx-
button__icon{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.[Link]-mmv-description-page-button .cdx-
button__icon{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M5 1a2 2 0 00-2
2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0 00-2-2zm0 3h5v1H5zm0 2h5v1H5zm0 2h5v1H5zm10
7H5v-1h10zm0-2H5v-1h10zm0-2H5v-1h10zm0-2h-4V4h4z\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M5 1a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V3a2 2 0 00-2-
2zm0 3h5v1H5zm0 2h5v1H5zm0 2h5v1H5zm10 7H5v-1h10zm0-2H5v-1h10zm0-2H5v-1h10zm0-2h-
4V4h4z\"/></svg>");transition-property:background-color;transition-duration:100ms}}.mw-mmv-
[Link]-mmv-description-page-button .cdx-button__icon[dir='rtl'],html[dir='rtl'] .mw-mmv-
[Link]-mmv-description-page-button .cdx-button__icon:not([dir='ltr']){transform:scaleX(-
1)}.[Link]-mmv-repo-button-commons .cdx-
button__icon{ min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.[Link]-mmv-repo-button-commons .cdx-
button__icon{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
[Link]-mmv-repo-button-commons .cdx-
button__icon{ -webkit-mask-size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-
webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
[Link]-mmv-repo-button-commons .cdx-
button__icon{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M13.09 6.18a3.68
3.68 0 01-2.18-2.55c.09.09 1.82.91 1.82.91L10 0 7.27 4.55l1.82-.91a5.1 5.1 0 00.55 1.91 5.13 5.13 0
002 2 9 9 0 012 1.18l-.64.63-.45-.45-.26 1.54 1.54-.26-.45-.45.62-.65a5.7 5.7 0 011.45
3.45h-.91v-.73l-1.26.91 1.26.91v-.73h.91A5.2 5.2 0 0114 16.36l-.64-.64.45-.45-1.53-.27.26
1.54.45-.45.64.64a5.7 5.7 0 01-3.45 1.45v-.91h.73L10 16l-.91 1.27h.73v.91a5.2 5.2 0 01-3.45-
1.45l.63-.[Link]-1.54-[Link].45-.63.65a5.7 5.7 0 01-1.45-3.45h.91v.73l1.26-.91-
1.26-.91v.73h-.91A5.2 5.2 0 016 9.09l.64.64-.45.45 1.54.26-.28-1.53-.45.45-.64-.64L5 7.45a7.29 7.29
0 108.09-1.27\"/><circle cx=\"10\" cy=\"12.7\" r=\"2.5\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .[Link]-mmv-repo-button-
commons .cdx-button__icon,.[Link]-button--action-progressive .mw-mmv-
[Link]-mmv-repo-button-commons .cdx-
button__icon,.[Link]-button--action-destructive .mw-mmv-stripe-
[Link]-mmv-repo-button-commons .cdx-
button__icon{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.[Link]-
mmv-repo-button-commons .cdx-button__icon{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M13.09 6.18a3.68 3.68 0 01-2.18-2.55c.09.09 1.82.91 1.82.91L10 0
7.27 4.55l1.82-.91a5.1 5.1 0 00.55 1.91 5.13 5.13 0 002 2 9 9 0 012 1.18l-.64.63-.45-.45-.26 1.54
1.54-.26-.45-.45.62-.65a5.7 5.7 0 011.45 3.45h-.91v-.73l-1.26.91 1.26.91v-.73h.91A5.2 5.2 0 0114
16.36l-.64-.64.45-.45-1.53-.27.26 1.54.45-.45.64.64a5.7 5.7 0 01-3.45 1.45v-.91h.73L10 16l-.91
1.27h.73v.91a5.2 5.2 0 01-3.45-1.45l.63-.[Link]-1.54-[Link].45-.63.65a5.7 5.7 0 01-1.45-
3.45h.91v.73l1.26-.91-1.26-.91v.73h-.91A5.2 5.2 0 016 9.09l.64.64-.45.45 1.54.26-.28-
1.53-.45.45-.64-.64L5 7.45a7.29 7.29 0 108.09-1.27\"/><circle cx=\"10\" cy=\"12.7\"
r=\"2.5\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M13.09 6.18a3.68
3.68 0 01-2.18-2.55c.09.09 1.82.91 1.82.91L10 0 7.27 4.55l1.82-.91a5.1 5.1 0 00.55 1.91 5.13 5.13 0
002 2 9 9 0 012 1.18l-.64.63-.45-.45-.26 1.54 1.54-.26-.45-.45.62-.65a5.7 5.7 0 011.45
3.45h-.91v-.73l-1.26.91 1.26.91v-.73h.91A5.2 5.2 0 0114 16.36l-.64-.64.45-.45-1.53-.27.26
1.54.45-.45.64.64a5.7 5.7 0 01-3.45 1.45v-.91h.73L10 16l-.91 1.27h.73v.91a5.2 5.2 0 01-3.45-
1.45l.63-.[Link]-1.54-[Link].45-.63.65a5.7 5.7 0 01-1.45-3.45h.91v.73l1.26-.91-
1.26-.91v.73h-.91A5.2 5.2 0 016 9.09l.64.64-.45.45 1.54.26-.28-1.53-.45.45-.64-.64L5 7.45a7.29 7.29
0 108.09-1.27\"/><circle cx=\"10\" cy=\"12.7\" r=\"2.5\"/></svg>");transition-property:background-
color;transition-duration:100ms}} .mw-mmv-ttf-container{position:relative;overflow:hidden}.mw-
[Link]-mmv-ttf-small{font-size:90%}.[Link]-mmv-ttf-
smaller{font-size:80%}.[Link]-mmv-ttf-smallest{font-size:65%}.mw-mmv-ttf-
[Link]-mmv-ttf-truncated{cursor:pointer}.[Link]-mmv-ttf-
untruncated{height:auto}.mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis{display:block;position:absolute;right:0;bottom:0;height:1em;width:1.5em;text-indent:-
9999px;border-radius:2px;background-size:contain;background-position:center center;background-
repeat:no-repeat; min-width:20px;min-height:20px;width:1.25rem;height:1.25rem;display:inline-
block;vertical-align:text-bottom;box-shadow:-4px 6px 0 0 var(--box-shadow-color-
inverted,#fff);opacity:0.5}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-
mmv-ttf-container .mw-mmv-ttf-ellipsis{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1.25rem,20px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.mw-mmv-ttf-container .mw-mmv-ttf-ellipsis{ -webkit-mask-
size:calc(max(1.25rem,20px));mask-size:calc(max(1.25rem,20px));-webkit-mask-repeat:no-
repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><circle cx=\"10\" cy=\"10\"
r=\"2\"/><circle cx=\"3\" cy=\"10\" r=\"2\"/><circle cx=\"17\" cy=\"10\"
r=\"2\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-ttf-container .mw-mmv-ttf-ellipsis,.cdx-
[Link]-button--action-progressive .mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis,.[Link]-button--action-destructive .mw-mmv-ttf-container .mw-
mmv-ttf-ellipsis{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.mw-mmv-ttf-container .mw-mmv-ttf-ellipsis{ -webkit-mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><circle cx=\"10\" cy=\"10\" r=\"2\"/><circle cx=\"3\" cy=\"10\" r=\"2\"/><circle
cx=\"17\" cy=\"10\" r=\"2\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><circle cx=\"10\" cy=\"10\"
r=\"2\"/><circle cx=\"3\" cy=\"10\" r=\"2\"/><circle cx=\"17\" cy=\"10\"
r=\"2\"/></svg>");background-color:var(--color-base,#202122)}}.mw-mmv-ttf-ellipsis-container:hover
.mw-mmv-ttf-container .mw-mmv-ttf-ellipsis{opacity:0.75}.mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis:hover,.mw-mmv-ttf-ellipsis-container .mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis:hover{opacity:1}.mw-mmv-ttf-container .mw-mmv-ttf-
ellipsis::before{display:block;content:'';height:1.6em;width:2em;margin-left:-2em;background-
image:linear-gradient(to right,var(--background-color-transparent,transparent) 0%,white
100%)} .mw-mmv-info-box{display:inline-block;overflow:hidden;border:1px solid var(--border-
color-muted,#eaecf0);border-radius:2px;background-color:var(--background-color-interactive-
subtle,#f8f9fa)}.mw-mmv-title-contain{position:relative}.mw-mmv-title-para{margin:0 0
10px;padding:10px 20px 0 20px;height:36px;line-height:36px}.[Link]-mmv-ttf-
normal{font-size:20px}.[Link]-mmv-title-small{font-size:18px}.mw-mmv-title-
[Link]-mmv-title-smaller{height:44px;margin:0 0 20px;padding:6px 20px 0 20px;line-
height:22px;font-size:16px}.[Link]-mmv-ttf-untruncated{height:auto}.mw-mmv-
title-para .mw-mmv-ttf-ellipsis{right:20px;bottom:3px}.mw-mmv-title-para .mw-mmv-ttf-
ellipsis::before{background-image:linear-gradient(to right,var(--background-color-
transparent,transparent) 0%,var(--background-color-base,#fff) 100%)}.mw-mmv-
credit{margin:0;color:var(--color-subtle,#54595d);padding:0 0 5px;font-size:0.85em}.mw-mmv-
credit .metadata-panel-is-closed{height:27px;line-height:27px}.mw-mmv-
[Link]{height:0.85em}.mw-mmv-credit .mw-mmv-ttf-
ellipsis{right:5px;bottom:13px;background-color:var(--background-color-interactive-
subtle,#f8f9fa)}.mw-mmv-credit .mw-mmv-ttf-ellipsis::before{background-image:linear-gradient(to
right,var(--background-color-transparent,transparent) 0%,var(--background-color-interactive-
subtle,#f8f9fa) 100%)}.mw-mmv-source-author{line-height:1.8em}.mw-mmv-title{display:inline-
block}.mw-mmv-image-metadata{width:100%;position:relative;margin-top:-30px;border-top:1px
solid var(--border-color-muted,#eaecf0);background-color:var(--background-color-interactive-
subtle,#f8f9fa);padding-top:2px}.jq-fullscreened .mw-mmv-image-
metadata{height:27px;overflow:hidden}.jq-fullscreened .mw-mmv-untruncated .mw-mmv-image-
metadata{height:auto}.mw-mmv-author::before{ min-width:16px;min-
height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-bottom;content:'
';margin-right:8px}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
author::before{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-
author::before{ -webkit-mask-size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-
mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-
position:center; }}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-
author::before{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 11c-5.92 0-8
3-8 5v3h16v-3c0-2-2.08-5-8-5\"/><circle cx=\"10\" cy=\"5.5\" r=\"4.5\"/></svg>");filter:invert(var(--
filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-author::before,.[Link]-button--action-progressive
.mw-mmv-author::before,.[Link]-button--action-destructive .mw-mmv-
author::before{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.mw-mmv-author::before{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 11c-5.92 0-8 3-8 5v3h16v-3c0-2-2.08-5-8-5\"/><circle cx=\"10\"
cy=\"5.5\" r=\"4.5\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 11c-5.92 0-8
3-8 5v3h16v-3c0-2-2.08-5-8-5\"/><circle cx=\"10\" cy=\"5.5\" r=\"4.5\"/></svg>");background-
color:var(--color-subtle,#54595d)}}.mw-mmv-image-desc-div{overflow-y:auto;max-
height:150px;margin-bottom:15px}.[Link]{display:none}.mw-mmv-image-
desc-div,.mw-mmv-image-links-div{display:inline-block;vertical-align:top}.mw-mmv-image-desc{font-
size:0.95em;color:var(--color-subtle,#54595d)}.mw-mmv-image-links{margin:0 20px;word-
break:break-word}.mw-mmv-image-links li{list-style:none;font-size:0.85em}.mw-mmv-image-links
[Link]{display:none}.metadata-panel-is-closed .mw-mmv-image-links [Link]-mmv-license-
li{height:28px;line-height:28px}.mw-mmv-image-links li::before{content:' ';margin-right:8px}.mw-
mmv-image-links [Link]-mmv-license-li::before{ min-width:16px;min-
height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-bottom}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-mmv-license-
li::before{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-
image-links [Link]-mmv-license-li::before{ -webkit-mask-size:calc(max(1rem,16px));mask-
size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.mw-mmv-image-links [Link]-mmv-license-li::before{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M16.07 8H15V5s0-5-5-5-5 5-5 5v3H3.93A1.93 1.93 0 002
9.93v8.15A1.93 1.93 0 003.93 20h12.14A1.93 1.93 0 0018 18.07V9.93A1.93 1.93 0 0016.07 8M10
16a2 2 0 112-2 2 2 0 01-2 2m3-8H7V5.5C7 4 7 2 10 2s3 2 3 3.5z\"/></svg>");filter:invert(var(--filter-
invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-image-links [Link]-mmv-license-li::before,.[Link]-
button--action-progressive .mw-mmv-image-links [Link]-mmv-license-li::before,.cdx-button--weight-
[Link]-button--action-destructive .mw-mmv-image-links [Link]-mmv-license-
li::before{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.mw-mmv-image-links [Link]-mmv-license-li::before{ -webkit-
mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M16.07 8H15V5s0-5-5-5-5 5-5 5v3H3.93A1.93 1.93 0 002
9.93v8.15A1.93 1.93 0 003.93 20h12.14A1.93 1.93 0 0018 18.07V9.93A1.93 1.93 0 0016.07 8M10
16a2 2 0 112-2 2 2 0 01-2 2m3-8H7V5.5C7 4 7 2 10 2s3 2 3 3.5z\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M16.07 8H15V5s0-5-5-5-5 5-5 5v3H3.93A1.93 1.93 0 002
9.93v8.15A1.93 1.93 0 003.93 20h12.14A1.93 1.93 0 0018 18.07V9.93A1.93 1.93 0 0016.07 8M10
16a2 2 0 112-2 2 2 0 01-2 2m3-8H7V5.5C7 4 7 2 10 2s3 2 3 3.5z\"/></svg>");background-color:var(--
color-subtle,#54595d)}}.mw-mmv-image-links [Link]-license::before{ min-
width:16px;min-height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-image-links
[Link]-license::before{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.mw-mmv-image-links [Link]-license::before{ -webkit-mask-
size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not ((-webkit-
mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-
license::before{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 18a8 8 0
118-8 8 8 0 01-8 8m0-18A9.94 9.94 0 000 10a9.94 9.94 0 0010 10 9.94 9.94 0 0010-10A9.94 9.94 0
0010 0\"/><path d=\"M13.49 11.67c-1 0-1.43-.57-1.43-1.71s.43-1.71 1.43-1.71c.57 0 .86.29
1.14.86l1.29-.71A2.8 2.8 0 0013.2 7a2.9 2.9 0 00-2.14.86A2.7 2.7 0 0010.2 10a3 3 0 00.86 2.29 2.9
2.9 0 002.14.86 3.24 3.24 0 002.71-1.57L14.63 11a1.46 1.46 0 01-1.14.71zm-6 0c-1 0-1.43-.57-1.43-
1.71s.43-1.71 1.43-1.71c.57 0 .86.29 1.14.86l1.29-.71A2.8 2.8 0 007.2 7a2.9 2.9 0 00-2.14.86A2.7 2.7
0 004.2 10a3 3 0 00.86 2.29 2.9 2.9 0 002.14.86 3.24 3.24 0 002.71-1.57L8.63 11a1.46 1.46 0 01-
1.14.71z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-
base,0.87)}.cdx-button:not(.cdx-button--weight-quiet):disabled .mw-mmv-image-links [Link]-mmv-
[Link]-license::before,.[Link]-button--action-progressive .mw-mmv-
image-links [Link]-license::before,.[Link]-button--action-
destructive .mw-mmv-image-links [Link]-license::before{filter:invert(var(--filter-
invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-image-links [Link]-license::before{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 18a8 8 0 118-8 8 8 0 01-8 8m0-18A9.94 9.94 0 000 10a9.94 9.94
0 0010 10 9.94 9.94 0 0010-10A9.94 9.94 0 0010 0\"/><path d=\"M13.49 11.67c-1 0-1.43-.57-1.43-
1.71s.43-1.71 1.43-1.71c.57 0 .86.29 1.14.86l1.29-.71A2.8 2.8 0 0013.2 7a2.9 2.9 0 00-2.14.86A2.7
2.7 0 0010.2 10a3 3 0 00.86 2.29 2.9 2.9 0 002.14.86 3.24 3.24 0 002.71-1.57L14.63 11a1.46 1.46 0
01-1.14.71zm-6 0c-1 0-1.43-.57-1.43-1.71s.43-1.71 1.43-1.71c.57 0 .86.29 1.14.86l1.29-.71A2.8 2.8 0
007.2 7a2.9 2.9 0 00-2.14.86A2.7 2.7 0 004.2 10a3 3 0 00.86 2.29 2.9 2.9 0 002.14.86 3.24 3.24 0
002.71-1.57L8.63 11a1.46 1.46 0 01-1.14.71z\"/></svg>");
mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 18a8 8 0 118-8 8 8 0 01-8 8m0-18A9.94 9.94 0 000 10a9.94 9.94
0 0010 10 9.94 9.94 0 0010-10A9.94 9.94 0 0010 0\"/><path d=\"M13.49 11.67c-1 0-1.43-.57-1.43-
1.71s.43-1.71 1.43-1.71c.57 0 .86.29 1.14.86l1.29-.71A2.8 2.8 0 0013.2 7a2.9 2.9 0 00-2.14.86A2.7
2.7 0 0010.2 10a3 3 0 00.86 2.29 2.9 2.9 0 002.14.86 3.24 3.24 0 002.71-1.57L14.63 11a1.46 1.46 0
01-1.14.71zm-6 0c-1 0-1.43-.57-1.43-1.71s.43-1.71 1.43-1.71c.57 0 .86.29 1.14.86l1.29-.71A2.8 2.8 0
007.2 7a2.9 2.9 0 00-2.14.86A2.7 2.7 0 004.2 10a3 3 0 00.86 2.29 2.9 2.9 0 002.14.86 3.24 3.24 0
002.71-1.57L8.63 11a1.46 1.46 0 01-1.14.71z\"/></svg>");background-color:var(--color-
subtle,#54595d)}}.mw-mmv-image-links [Link]-license::before{ min-
width:16px;min-height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-image-links
[Link]-license::before{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.mw-mmv-image-links [Link]-license::before{ -webkit-mask-
size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not ((-webkit-
mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-
license::before{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M15 8V5s0-5-5-
5a4.63 4.63 0 00-4.88 4h2C7.31 2.93 8 2 10 2c3 0 3 2 3 3.5V8H3.93A1.93 1.93 0 002 9.93v8.15A1.93
1.93 0 003.93 20h12.14A1.93 1.93 0 0018 18.07V9.93A1.93 1.93 0 0016.07 8zm-5 8a2 2 0 112-2 2 2 0
01-2 2\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-image-links [Link]-
license::before,.[Link]-button--action-progressive .mw-mmv-image-links
[Link]-license::before,.[Link]-button--action-
destructive .mw-mmv-image-links [Link]-license::before{filter:invert(var(--filter-
invert-primary-button-icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-
mmv-image-links [Link]-license::before{
-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M15 8V5s0-5-5-5a4.63 4.63 0 00-4.88 4h2C7.31 2.93 8 2 10 2c3 0 3 2
3 3.5V8H3.93A1.93 1.93 0 002 9.93v8.15A1.93 1.93 0 003.93 20h12.14A1.93 1.93 0 0018
18.07V9.93A1.93 1.93 0 0016.07 8zm-5 8a2 2 0 112-2 2 2 0 01-2 2\"/></svg>"); mask-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M15 8V5s0-5-5-5a4.63 4.63 0 00-4.88 4h2C7.31 2.93 8 2 10 2c3 0 3 2
3 3.5V8H3.93A1.93 1.93 0 002 9.93v8.15A1.93 1.93 0 003.93 20h12.14A1.93 1.93 0 0018
18.07V9.93A1.93 1.93 0 0016.07 8zm-5 8a2 2 0 112-2 2 2 0 01-2 2\"/></svg>");background-
color:var(--color-subtle,#54595d)}}.mw-mmv-image-links [Link]-mmv-filename-li::before{ min-
width:16px;min-height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-
bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-image-links
[Link]-mmv-filename-li::before{background-position:center;background-repeat:no-
repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-
image:none){.mw-mmv-image-links [Link]-mmv-filename-li::before{ -webkit-mask-
size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not ((-webkit-
mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-mmv-filename-
li::before{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm-.17 13 4.09-5.25 2.92 3.51L12.92 8l5.25
7z\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-image-links [Link]-mmv-filename-
li::before,.[Link]-button--action-progressive .mw-mmv-image-links [Link]-
mmv-filename-li::before,.[Link]-button--action-destructive .mw-mmv-
image-links [Link]-mmv-filename-li::before{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-image-links [Link]-
mmv-filename-li::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm-.17 13 4.09-5.25 2.92 3.51L12.92 8l5.25
7z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M2 2a2 2 0 00-2
2v12a2 2 0 002 2h16a2 2 0 002-2V4a2 2 0 00-2-2zm-.17 13 4.09-5.25 2.92 3.51L12.92 8l5.25
7z\"/></svg>");background-color:var(--color-subtle,#54595d)}}.mw-mmv-image-links [Link]-mmv-
datetime-li::before{ min-width:16px;min-height:16px;width:1rem;height:1rem;display:inline-
block;vertical-align:text-bottom}@supports not ((-webkit-mask-image:none) or (mask-image:none))
{.mw-mmv-image-links [Link]-mmv-datetime-li::before{background-position:center;background-
repeat:no-repeat;background-size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or
(mask-image:none){.mw-mmv-image-links [Link]-mmv-datetime-li::before{ -webkit-mask-
size:calc(max(1rem,16px));mask-size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-
repeat:no-repeat;-webkit-mask-position:center;mask-position:center; }}@supports not ((-webkit-
mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-mmv-datetime-
li::before{background-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0a10 10 0
1010 10A10 10 0 0010 0m2.5 14.5L9 11V4h2v6l3 3z\"/></svg>");filter:invert(var(--filter-invert-
icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-button:not(.cdx-button--weight-
quiet):disabled .mw-mmv-image-links [Link]-mmv-datetime-li::before,.cdx-button--weight-
[Link]-button--action-progressive .mw-mmv-image-links [Link]-mmv-datetime-li::before,.cdx-
[Link]-button--action-destructive .mw-mmv-image-links [Link]-mmv-datetime-
li::before{filter:invert(var(--filter-invert-primary-button-icon,1))}}@supports (-webkit-mask-
image:none) or (mask-image:none){.mw-mmv-image-links [Link]-mmv-datetime-li::before{ -webkit-
mask-image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 0a10 10 0 1010 10A10 10 0 0010 0m2.5 14.5L9 11V4h2v6l3
3z\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0a10 10 0
1010 10A10 10 0 0010 0m2.5 14.5L9 11V4h2v6l3 3z\"/></svg>");background-color:var(--color-
subtle,#54595d)}}.mw-mmv-image-links [Link]-mmv-location-li::before{ min-width:16px;min-
height:16px;width:1rem;height:1rem;display:inline-block;vertical-align:text-bottom}@supports not
((-webkit-mask-image:none) or (mask-image:none)){.mw-mmv-image-links [Link]-mmv-location-
li::before{background-position:center;background-repeat:no-repeat;background-
size:calc(max(1rem,16px))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-
image-links [Link]-mmv-location-li::before{ -webkit-mask-size:calc(max(1rem,16px));mask-
size:calc(max(1rem,16px));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-
position:center;mask-position:center; }}@supports not ((-webkit-mask-image:none) or (mask-
image:none)){.mw-mmv-image-links [Link]-mmv-location-li::before{background-
image:url("data:image/svg+xml;utf8,<svg xmlns=\"[Link]
xmlns:xlink=\"[Link] width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"
fill=\"%23000000\"><path d=\"M10 0a7.65 7.65 0 00-8 8c0 2.52 2 5 3 6s5 6 5 6 4-5 5-6 3-3.48 3-
6a7.65 7.65 0 00-8-8m0 11.25A3.25 3.25 0 1113.25 8 3.25 3.25 0 0110
11.25\"/></svg>");filter:invert(var(--filter-invert-icon,0));opacity:var(--opacity-icon-base,0.87)}.cdx-
button:not(.cdx-button--weight-quiet):disabled .mw-mmv-image-links [Link]-mmv-location-
li::before,.[Link]-button--action-progressive .mw-mmv-image-links [Link]-
mmv-location-li::before,.[Link]-button--action-destructive .mw-mmv-
image-links [Link]-mmv-location-li::before{filter:invert(var(--filter-invert-primary-button-
icon,1))}}@supports (-webkit-mask-image:none) or (mask-image:none){.mw-mmv-image-links [Link]-
mmv-location-li::before{ -webkit-mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0a7.65 7.65
0 00-8 8c0 2.52 2 5 3 6s5 6 5 6 4-5 5-6 3-3.48 3-6a7.65 7.65 0 00-8-8m0 11.25A3.25 3.25 0 1113.25 8
3.25 3.25 0 0110 11.25\"/></svg>"); mask-image:url("data:image/svg+xml;utf8,<svg
xmlns=\"[Link] xmlns:xlink=\"[Link]
width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"M10 0a7.65 7.65
0 00-8 8c0 2.52 2 5 3 6s5 6 5 6 4-5 5-6 3-3.48 3-6a7.65 7.65 0 00-8-8m0 11.25A3.25 3.25 0 1113.25 8
3.25 3.25 0 0110 11.25\"/></svg>");background-color:var(--color-subtle,#54595d)}}.mw-mmv-image-
links [Link]::before{background-image:none !important; }.mw-mmv-license-contain,.mw-mmv-
license{text-align:right}.mw-mmv-filename-prefix{padding-right:4px;cursor:text}.mw-mmv-title-
para,.mw-mmv-credit,.mw-mmv-image-desc{padding-left:20px}.mw-mmv-about-links{font-
size:0.85em;padding:20px;width:50%;clear:both}.mw-mmv-label{background-color:var(--
background-color-interactive,#eaecf0);color:var(--color-base,#202122);margin-left:6px;margin-
top:1px;border-radius:2px;padding:2px 5px;font-size:0.9em}.mw-mmv-label:hover{background-
color:var(--background-color-interactive-subtle,#f8f9fa)}.mw-mmv-image-metadata-
column{float:left}.mw-mmv-image-metadata-desc-column{width:66.5%}.mw-mmv-image-metadata-
links-column{max-width:33.5%;width:25%;text-align:right;float:right;transition:width 0.2s ease-
out}.mw-mmv-untruncated .mw-mmv-image-metadata-links-column{width:33.5%;text-
align:left}.mw-mmv-restrictions{display:inline-block;line-height:14px}.mw-mmv-restriction-
label{cursor:default;display:inline-block;height:16px}.mw-mmv-restriction-label,.mw-mmv-
restriction-label:hover{background-color:var(--color-warning,#edab00)}.mw-mmv-restriction-label-
inner{display:inline-block;width:14px;height:14px;text-indent:-9999px;text-align:left;background-
size:contain}.mw-mmv-restriction-label-inner::after{float:right;text-indent:0}.mw-mmv-permission-
link{cursor:pointer}.jq-fullscreened .mw-mmv-permission-link{display:none}.mw-mmv-optout-
[Link]{cursor:wait;color:var(--color-subtle,#54595d)} .mw-mmv-post-image{animation:mw-
mmv-appear-animation 0.5s ease 0s 1 normal forwards;transition:box-shadow 0.25s}.mw-mmv-post-
[Link]{animation:mw-mmv-invite-animation 0.9s ease 0.2s 1 normal forwards}.jq-
fullscreened .mw-mmv-post-image{animation:none}.[Link]-mmv-untruncated,.jq-
fullscreened .mw-mmv-post-image{box-shadow:0 -4px 0 rgba(0,0,0,0.2)}@keyframes mw-mmv-
appear-animation{0%{opacity:0.6}50%{opacity:0.9}100%{opacity:1}}@keyframes mw-mmv-invite-
animation{0%{margin-top:0}30%{margin-top:-15px}85%{margin-top:0}} .mw-mmv-
wrapper{top:0;left:0;right:0;z-index:1001;position:absolute;bottom:auto}.skin-monobook .mw-mmv-
wrapper{font-size:medium}.mw-mmv-main{width:100%;height:auto;position:relative}.mw-mmv-
main .jq-fullscreened{background-color:#000}.mw-mmv-image-
wrapper{position:fixed;top:0;bottom:86px;left:0;right:0;overflow-y:hidden}.mw-mmv-image-inner-
wrapper{display:table;width:100%;height:100%}.mw-mmv-pre-
image{position:absolute;top:0;height:32px;width:100%;z-index:1}.mw-mmv-post-
image{position:absolute;width:100%;bottom:auto;height:auto;color:var(--color-
base,#202122);background-color:var(--background-color-base,#fff);min-height:57px;z-
index:1005}.mw-mmv-above-fold{width:100%;height:56px;min-
height:56px;position:relative;padding-bottom:30px}.mw-mmv-untruncated .mw-mmv-above-
fold{height:auto}.cursor-hidden{ cursor:none}.[Link]-fullscreened{background-
color:#000}.jq-fullscreened .mw-mmv-image-wrapper,.jq-fullscreened .mw-mmv-post-
image{bottom:0}.jq-fullscreened .mw-mmv-post-image{position:fixed;min-
height:0;opacity:0;transition:opacity 0.25s}.jq-fullscreened .mw-mmv-post-
image:hover{opacity:1}</style><meta name="ResourceLoaderDynamicStyles" content="">

<link rel="stylesheet" href="/w/[Link]?


lang=en&amp;modules=[Link]&amp;only=styles&amp;skin=vector-2022">

<meta name="generator" content="MediaWiki 1.43.0-wmf.7">

<meta name="referrer" content="origin">

<meta name="referrer" content="origin-when-cross-origin">

<meta name="robots" content="max-image-preview:standard">

<meta name="format-detection" content="telephone=no">

<meta property="og:image"
content="[Link]

<meta property="og:image:width" content="1200">

<meta property="og:image:height" content="799">

<meta property="og:image"
content="[Link]
800px-JavaScript_code.png">

<meta property="og:image:width" content="800">

<meta property="og:image:height" content="532">

<meta property="og:image"
content="[Link]
640px-JavaScript_code.png">

<meta property="og:image:width" content="640">

<meta property="og:image:height" content="426">

<meta name="viewport" content="width=1000">

<meta property="og:title" content="JavaScript - Wikipedia">

<meta property="og:type" content="website">

<link rel="preconnect" href="//[Link]">

<link rel="alternate" media="only screen and (max-width: 720px)"


href="//[Link]/wiki/JavaScript">

<link rel="apple-touch-icon" href="/static/apple-touch/[Link]">

<link rel="icon" href="/static/favicon/[Link]">


<link rel="search" type="application/opensearchdescription+xml" href="/w/[Link]/v1/search"
title="Wikipedia (en)">

<link rel="EditURI" type="application/rsd+xml" href="//[Link]/w/[Link]?action=rsd">

<link rel="canonical" href="[Link]

<link rel="license" href="[Link]

<link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/[Link]?


title=Special:RecentChanges&amp;feed=atom">

<link rel="dns-prefetch" href="//[Link]">

<link rel="dns-prefetch" href="//[Link]">

</head>

<body class="skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-


subject page-JavaScript rootpage-JavaScript skin-vector-2022 action-view uls-dialog-sticky-hide
vector-below-page-title"><a class="mw-jump-link" href="#bodyContent">Jump to content</a>

<div class="vector-header-container">

<header class="vector-header mw-header">

<div class="vector-header-start">

<nav class="vector-main-menu-landmark" aria-label="Site"


role="navigation">

<div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown


vector-button-flush-left vector-button-flush-right">

<input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-


haspopup="true" data-event-name="[Link]-vector-main-menu-dropdown" class="vector-
dropdown-checkbox " aria-label="Main menu">

<label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-


checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-
button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span
class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span>

<span class="vector-dropdown-label-text">Main menu</span>

</label>

<div class="vector-dropdown-content">
<div id="vector-main-menu-unpinned-container" class="vector-
unpinned-container">

<div id="vector-main-menu" class="vector-main-menu vector-pinnable-element">

<div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-


header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-
main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-
container-id="vector-main-menu-unpinned-container" data-saved-pinned-state="false">

<div class="vector-pinnable-header-label">Main menu</div>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button"


data-event-name="[Link]">move to sidebar</button>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button"


data-event-name="[Link]">hide</button>

</div>

<div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation">

<div class="vector-menu-heading">

Navigation

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="n-mainpage-description" class="mw-list-item"><a


href="/wiki/Main_Page" title="Visit the main page [alt-shift-z]" accesskey="z"><span>Main
page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents"
title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents"
class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current
events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a
href="/wiki/Special:Random" title="Visit a randomly selected article [alt-shift-x]"
accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a
href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About
Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a
href="//[Link]/wiki/Wikipedia:Contact_us" title="How to contact
Wikipedia"><span>Contact us</span></a></li><li id="n-sitesupport" class="mw-list-item"><a
href="[Link]
utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.[Link]&amp;
uselang=en" title="Support us by donating to the Wikimedia
Foundation"><span>Donate</span></a></li>

</ul>

</div>

</div>

<div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction">

<div class="vector-menu-heading">

Contribute

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents"


title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-
introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit
Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a
href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community
portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a
href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [alt-shift-r]"
accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a
href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on
Wikipedia"><span>Upload file</span></a></li>

</ul>

</div>

</div>

</div>
</div>

</div>

</div>

</nav>

<a href="/wiki/Main_Page" class="mw-logo">

<img class="mw-logo-icon" src="/static/images/icons/[Link]" alt="" aria-


hidden="true" height="50" width="50">

<span class="mw-logo-container skin-invert">

<img class="mw-logo-wordmark" alt="Wikipedia"


src="/static/images/mobile/copyright/[Link]" style="width: 7.5em; height:
1.125em;">

<img class="mw-logo-tagline" alt="The Free Encyclopedia"


src="/static/images/mobile/copyright/[Link]" width="117" height="13"
style="width: 7.3125em; height: 0.8125em;">

</span>

</a>

</div>

<div class="vector-header-end">

<div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-


search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box">

<a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-


button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" id="" title="Search
Wikipedia [alt-shift-f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-
wikimedia-search"></span>

<span>Search</span>

</a>

<div class="vector-typeahead-search-container">
<div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-
typeahead-search--auto-expand-width">

<form action="/w/[Link]" id="searchform" class="cdx-search-input cdx-


search-input--has-end-button">

<div id="simpleSearch" class="cdx-search-input__input-wrapper"


data-search-loc="header-moved">

<div class="cdx-text-input cdx-text-input--has-start-icon">

<input class="cdx-text-input__input" type="search"


name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia"
autocapitalize="sentences" title="Search Wikipedia [alt-shift-f]" accesskey="f" id="searchInput"
autocomplete="off">

<span class="cdx-text-input__icon cdx-text-


input__start-icon"></span>

</div>

<input type="hidden" name="title" value="Special:Search">

</div>

<button class="cdx-button cdx-search-input__end-


button">Search</button>

</form>

</div>

</div>

</div>

<nav class="vector-user-links vector-user-links-wide" aria-label="Personal


tools" role="navigation">

<div class="vector-user-links-main">

<div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

</ul>
</div>

</div>

<div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

</ul>

</div>

</div>

<nav class="vector-appearance-landmark" aria-label="Appearance">

</nav>

<div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

</ul>

</div>

</div>
<div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item


user-links-collapsible-item"><a data-mw="interface" href="/w/[Link]?
title=Special:CreateAccount&amp;returnto=JavaScript" title="You are encouraged to create an
account and log in; however, it is not mandatory" class=""><span>Create account</span></a>

</li>

<li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a


data-mw="interface" href="/w/[Link]?title=Special:UserLogin&amp;returnto=JavaScript"
title="You're encouraged to log in; however, it's not mandatory. [alt-shift-o]" accesskey="o"
class=""><span>Log in</span></a>

</li>

</ul>

</div>

</div>

</div>

<div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-


flush-right vector-user-menu-logged-out" title="Log in and more options">

<input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-


haspopup="true" data-event-name="[Link]-vector-user-links-dropdown" class="vector-
dropdown-checkbox " aria-label="Personal tools">

<label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox"


class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled
cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true"><span class="vector-icon mw-
ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span>
<span class="vector-dropdown-label-text">Personal tools</span>

</label>

<div class="vector-dropdown-content">

<div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-


item" title="User menu">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a


href="/w/[Link]?title=Special:CreateAccount&amp;returnto=JavaScript" title="You are
encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon
mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create
account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a
href="/w/[Link]?title=Special:UserLogin&amp;returnto=JavaScript" title="You're encouraged to
log in; however, it's not mandatory. [alt-shift-o]" accesskey="o"><span class="vector-icon mw-ui-icon-
logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li>

</ul>

</div>

</div>

<div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-


editor">

<div class="vector-menu-heading">

Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn


more about editing"><span>learn more</span></a>

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">
<li id="pt-anoncontribs" class="mw-list-item"><a
href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [alt-shift-y]"
accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a
href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [alt-shift-n]"
accesskey="n"><span>Talk</span></a></li>

</ul>

</div>

</div>

</div>

</div>

</nav>

</div>

</header>

</div>

<div class="mw-page-container">

<div class="mw-page-container-inner">

<div class="vector-sitenotice-container">

<div id="siteNotice" class="notheme"><div id="centralNotice"></div><!--


CentralNotice --></div>

</div>

<div class="vector-column-start">

<div class="vector-main-menu-container">

<div id="mw-navigation">

<nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"


role="navigation">

<div id="vector-main-menu-pinned-container" class="vector-pinned-


container">
</div>

</nav>

</div>

</div>

<div class="vector-sticky-pinned-container">

<nav id="mw-panel-toc" role="navigation" aria-label="Contents"


data-event-name="[Link]-toc" class="mw-table-of-contents-container vector-toc-landmark">

<div id="vector-toc-pinned-container" class="vector-pinned-


container">

</div>

</nav>

</div>

</div>

<div class="mw-content-container">

<main id="content" class="mw-body" role="main">

<header class="mw-body-header vector-page-titlebar">

<nav role="navigation" aria-label="Contents" class="vector-


toc-landmark">

<div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-


flush-left">

<input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-


haspopup="true" data-event-name="[Link]-vector-page-titlebar-toc" class="vector-
dropdown-checkbox " aria-label="Toggle the table of contents">

<label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox"


class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled
cdx-button--icon-only" aria-hidden="true"><span class="vector-icon mw-ui-icon-listBullet mw-ui-
icon-wikimedia-listBullet"></span>

<span class="vector-dropdown-label-text">Toggle the table of contents</span>

</label>
<div class="vector-dropdown-content">

<div id="vector-page-titlebar-toc-unpinned-
container" class="vector-unpinned-container">

<div id="vector-toc" class="vector-toc vector-pinnable-element">

<div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-


pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc">

<h2 class="vector-pinnable-header-label">Contents</h2>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button"


data-event-name="[Link]">move to sidebar</button>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button"


data-event-name="[Link]">hide</button>

</div>

<ul class="vector-toc-contents" id="mw-panel-toc-list">

<li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1">

<a href="#" class="vector-toc-link">

<div class="vector-toc-text">(Top)</div>

</a>

</li>

<li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-level-1-


active">

<a class="vector-toc-link" href="#History">

<div class="vector-toc-text">

<span class="vector-toc-numb">1</span>

<span>History</span>

</div>

</a>

<button aria-controls="toc-History-sublist" class="cdx-button cdx-button--


weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">
<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle History subsection</span>

</button>

<ul id="toc-History-sublist" class="vector-toc-list">

<li id="toc-Creation_at_Netscape" class="vector-toc-list-item vector-toc-


level-2">

<a class="vector-toc-link" href="#Creation_at_Netscape">

<div class="vector-toc-text">

<span class="vector-toc-numb">1.1</span>

<span>Creation at Netscape</span>

</div>

</a>

<ul id="toc-Creation_at_Netscape-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Adoption_by_Microsoft" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Adoption_by_Microsoft">

<div class="vector-toc-text">

<span class="vector-toc-numb">1.2</span>

<span>Adoption by Microsoft</span>

</div>

</a>

<ul id="toc-Adoption_by_Microsoft-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-The_rise_of_JScript" class="vector-toc-list-item vector-toc-level-2 vector-


toc-list-item-active">

<a class="vector-toc-link" href="#The_rise_of_JScript">

<div class="vector-toc-text">
<span class="vector-toc-numb">1.3</span>

<span>The rise of JScript</span>

</div>

</a>

<ul id="toc-The_rise_of_JScript-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Growth_and_standardization" class="vector-toc-list-item vector-toc-level-


2">

<a class="vector-toc-link" href="#Growth_and_standardization">

<div class="vector-toc-text">

<span class="vector-toc-numb">1.4</span>

<span>Growth and standardization</span>

</div>

</a>

<ul id="toc-Growth_and_standardization-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Reaching_maturity" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Reaching_maturity">

<div class="vector-toc-text">

<span class="vector-toc-numb">1.5</span>

<span>Reaching maturity</span>

</div>

</a>

<ul id="toc-Reaching_maturity-sublist" class="vector-toc-list">

</ul>

</li>
</ul>

</li>

<li id="toc-Trademark" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Trademark">

<div class="vector-toc-text">

<span class="vector-toc-numb">2</span>

<span>Trademark</span>

</div>

</a>

<ul id="toc-Trademark-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Website_client-side_usage" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Website_client-side_usage">

<div class="vector-toc-text">

<span class="vector-toc-numb">3</span>

<span>Website client-side usage</span>

</div>

</a>

<button aria-controls="toc-Website_client-side_usage-sublist" class="cdx-


button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle Website client-side usage subsection</span>

</button>

<ul id="toc-Website_client-side_usage-sublist" class="vector-toc-list">

<li id="toc-Examples_of_scripted_behavior" class="vector-toc-list-item


vector-toc-level-2">

<a class="vector-toc-link" href="#Examples_of_scripted_behavior">

<div class="vector-toc-text">
<span class="vector-toc-numb">3.1</span>

<span>Examples of scripted behavior</span>

</div>

</a>

<ul id="toc-Examples_of_scripted_behavior-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Libraries_and_frameworks" class="vector-toc-list-item vector-toc-level-


2">

<a class="vector-toc-link" href="#Libraries_and_frameworks">

<div class="vector-toc-text">

<span class="vector-toc-numb">3.2</span>

<span>Libraries and frameworks</span>

</div>

</a>

<ul id="toc-Libraries_and_frameworks-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Other_usage" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Other_usage">

<div class="vector-toc-text">

<span class="vector-toc-numb">4</span>

<span>Other usage</span>

</div>

</a>

<ul id="toc-Other_usage-sublist" class="vector-toc-list">


</ul>

</li>

<li id="toc-Execution" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Execution">

<div class="vector-toc-text">

<span class="vector-toc-numb">5</span>

<span>Execution</span>

</div>

</a>

<button aria-controls="toc-Execution-sublist" class="cdx-button cdx-button--


weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle Execution subsection</span>

</button>

<ul id="toc-Execution-sublist" class="vector-toc-list">

<li id="toc-JavaScript_engine" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#JavaScript_engine">

<div class="vector-toc-text">

<span class="vector-toc-numb">5.1</span>

<span>JavaScript engine</span>

</div>

</a>

<ul id="toc-JavaScript_engine-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Runtime_system" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Runtime_system">

<div class="vector-toc-text">
<span class="vector-toc-numb">5.2</span>

<span>Runtime system</span>

</div>

</a>

<ul id="toc-Runtime_system-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Features" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Features">

<div class="vector-toc-text">

<span class="vector-toc-numb">6</span>

<span>Features</span>

</div>

</a>

<button aria-controls="toc-Features-sublist" class="cdx-button cdx-button--


weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle Features subsection</span>

</button>

<ul id="toc-Features-sublist" class="vector-toc-list">

<li id="toc-Imperative_and_structured" class="vector-toc-list-item vector-


toc-level-2">

<a class="vector-toc-link" href="#Imperative_and_structured">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.1</span>

<span>Imperative and structured</span>

</div>
</a>

<ul id="toc-Imperative_and_structured-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Weakly_typed" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Weakly_typed">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.2</span>

<span>Weakly typed</span>

</div>

</a>

<ul id="toc-Weakly_typed-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Dynamic" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Dynamic">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.3</span>

<span>Dynamic</span>

</div>

</a>

<ul id="toc-Dynamic-sublist" class="vector-toc-list">

<li id="toc-Typing" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Typing">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.3.1</span>

<span>Typing</span>

</div>
</a>

<ul id="toc-Typing-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Run-time_evaluation" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Run-time_evaluation">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.3.2</span>

<span>Run-time evaluation</span>

</div>

</a>

<ul id="toc-Run-time_evaluation-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Object-orientation_(prototype-based)" class="vector-toc-list-item vector-


toc-level-2">

<a class="vector-toc-link" href="#Object-orientation_(prototype-based)">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.4</span>

<span>Object-orientation (prototype-based)</span>

</div>

</a>

<ul id="toc-Object-orientation_(prototype-based)-sublist" class="vector-toc-


list">

<li id="toc-Prototypes" class="vector-toc-list-item vector-toc-level-


3">

<a class="vector-toc-link" href="#Prototypes">


<div class="vector-toc-text">

<span class="vector-toc-numb">6.4.1</span>

<span>Prototypes</span>

</div>

</a>

<ul id="toc-Prototypes-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Functions_as_object_constructors" class="vector-toc-list-item vector-toc-


level-3">

<a class="vector-toc-link" href="#Functions_as_object_constructors">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.4.2</span>

<span>Functions as object constructors</span>

</div>

</a>

<ul id="toc-Functions_as_object_constructors-sublist" class="vector-toc-


list">

</ul>

</li>

<li id="toc-Functions_as_methods" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Functions_as_methods">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.4.3</span>

<span>Functions as methods</span>

</div>

</a>

<ul id="toc-Functions_as_methods-sublist" class="vector-toc-list">

</ul>
</li>

</ul>

</li>

<li id="toc-Functional" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Functional">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.5</span>

<span>Functional</span>

</div>

</a>

<ul id="toc-Functional-sublist" class="vector-toc-list">

<li id="toc-Lexical_closure" class="vector-toc-list-item vector-toc-


level-3">

<a class="vector-toc-link" href="#Lexical_closure">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.5.1</span>

<span>Lexical closure</span>

</div>

</a>

<ul id="toc-Lexical_closure-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Anonymous_function" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Anonymous_function">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.5.2</span>

<span>Anonymous function</span>

</div>

</a>
<ul id="toc-Anonymous_function-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Delegative" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Delegative">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.6</span>

<span>Delegative</span>

</div>

</a>

<ul id="toc-Delegative-sublist" class="vector-toc-list">

<li id="toc-Functions_as_roles_(Traits_and_Mixins)" class="vector-


toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Functions_as_roles_(Traits_and_Mixins)">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.6.1</span>

<span>Functions as roles (Traits and Mixins)</span>

</div>

</a>

<ul id="toc-Functions_as_roles_(Traits_and_Mixins)-sublist" class="vector-


toc-list">

</ul>

</li>

<li id="toc-Object_composition_and_inheritance" class="vector-toc-list-item vector-


toc-level-3">

<a class="vector-toc-link" href="#Object_composition_and_inheritance">

<div class="vector-toc-text">
<span class="vector-toc-numb">6.6.2</span>

<span>Object composition and inheritance</span>

</div>

</a>

<ul id="toc-Object_composition_and_inheritance-sublist" class="vector-toc-


list">

</ul>

</li>

</ul>

</li>

<li id="toc-Miscellaneous" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Miscellaneous">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7</span>

<span>Miscellaneous</span>

</div>

</a>

<ul id="toc-Miscellaneous-sublist" class="vector-toc-list">

<li id="toc-Zero-based_numbering" class="vector-toc-list-item


vector-toc-level-3">

<a class="vector-toc-link" href="#Zero-based_numbering">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7.1</span>

<span>Zero-based numbering</span>

</div>

</a>

<ul id="toc-Zero-based_numbering-sublist" class="vector-toc-list">

</ul>

</li>
<li id="toc-Variadic_functions" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Variadic_functions">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7.2</span>

<span>Variadic functions</span>

</div>

</a>

<ul id="toc-Variadic_functions-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Array_and_object_literals" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Array_and_object_literals">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7.3</span>

<span>Array and object literals</span>

</div>

</a>

<ul id="toc-Array_and_object_literals-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Regular_expressions" class="vector-toc-list-item vector-toc-level-3">

<a class="vector-toc-link" href="#Regular_expressions">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7.4</span>

<span>Regular expressions</span>

</div>

</a>

<ul id="toc-Regular_expressions-sublist" class="vector-toc-list">


</ul>

</li>

<li id="toc-Promises_and_Async/await" class="vector-toc-list-item vector-toc-level-


3">

<a class="vector-toc-link" href="#Promises_and_Async/await">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.7.5</span>

<span>Promises and Async/await</span>

</div>

</a>

<ul id="toc-Promises_and_Async/await-sublist" class="vector-toc-list">

<li id="toc-Promises" class="vector-toc-list-item vector-toc-level-4">

<a class="vector-toc-link" href="#Promises">

<div class="vector-toc-text">

<span class="vector-toc-numb">[Link]</span>

<span>Promises</span>

</div>

</a>

<ul id="toc-Promises-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Async/await" class="vector-toc-list-item vector-toc-level-4">

<a class="vector-toc-link" href="#Async/await">

<div class="vector-toc-text">

<span class="vector-toc-numb">[Link]</span>

<span>Async/await</span>

</div>

</a>
<ul id="toc-Async/await-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

</ul>

</li>

<li id="toc-Vendor-specific_extensions" class="vector-toc-list-item vector-toc-level-


2">

<a class="vector-toc-link" href="#Vendor-specific_extensions">

<div class="vector-toc-text">

<span class="vector-toc-numb">6.8</span>

<span>Vendor-specific extensions</span>

</div>

</a>

<ul id="toc-Vendor-specific_extensions-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Syntax" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Syntax">

<div class="vector-toc-text">

<span class="vector-toc-numb">7</span>

<span>Syntax</span>

</div>

</a>

<button aria-controls="toc-Syntax-sublist" class="cdx-button cdx-button--


weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>


<span>Toggle Syntax subsection</span>

</button>

<ul id="toc-Syntax-sublist" class="vector-toc-list">

<li id="toc-Simple_examples" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Simple_examples">

<div class="vector-toc-text">

<span class="vector-toc-numb">7.1</span>

<span>Simple examples</span>

</div>

</a>

<ul id="toc-Simple_examples-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-More_advanced_example" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#More_advanced_example">

<div class="vector-toc-text">

<span class="vector-toc-numb">7.2</span>

<span>More advanced example</span>

</div>

</a>

<ul id="toc-More_advanced_example-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-Security" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Security">

<div class="vector-toc-text">
<span class="vector-toc-numb">8</span>

<span>Security</span>

</div>

</a>

<button aria-controls="toc-Security-sublist" class="cdx-button cdx-button--


weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle Security subsection</span>

</button>

<ul id="toc-Security-sublist" class="vector-toc-list">

<li id="toc-Cross-site_scripting" class="vector-toc-list-item vector-toc-level-


2">

<a class="vector-toc-link" href="#Cross-site_scripting">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.1</span>

<span>Cross-site scripting</span>

</div>

</a>

<ul id="toc-Cross-site_scripting-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Cross-site_request_forgery" class="vector-toc-list-item vector-toc-level-


2">

<a class="vector-toc-link" href="#Cross-site_request_forgery">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.2</span>

<span>Cross-site request forgery</span>

</div>

</a>
<ul id="toc-Cross-site_request_forgery-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Misplaced_trust_in_the_client" class="vector-toc-list-item vector-toc-


level-2">

<a class="vector-toc-link" href="#Misplaced_trust_in_the_client">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.3</span>

<span>Misplaced trust in the client</span>

</div>

</a>

<ul id="toc-Misplaced_trust_in_the_client-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Misplaced_trust_in_developers" class="vector-toc-list-item vector-toc-


level-2">

<a class="vector-toc-link" href="#Misplaced_trust_in_developers">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.4</span>

<span>Misplaced trust in developers</span>

</div>

</a>

<ul id="toc-Misplaced_trust_in_developers-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Browser_and_plugin_coding_errors" class="vector-toc-list-item vector-


toc-level-2">

<a class="vector-toc-link" href="#Browser_and_plugin_coding_errors">

<div class="vector-toc-text">
<span class="vector-toc-numb">8.5</span>

<span>Browser and plugin coding errors</span>

</div>

</a>

<ul id="toc-Browser_and_plugin_coding_errors-sublist" class="vector-toc-


list">

</ul>

</li>

<li id="toc-Sandbox_implementation_errors" class="vector-toc-list-item vector-toc-


level-2">

<a class="vector-toc-link" href="#Sandbox_implementation_errors">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.6</span>

<span>Sandbox implementation errors</span>

</div>

</a>

<ul id="toc-Sandbox_implementation_errors-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Hardware_vulnerabilities" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Hardware_vulnerabilities">

<div class="vector-toc-text">

<span class="vector-toc-numb">8.7</span>

<span>Hardware vulnerabilities</span>

</div>

</a>

<ul id="toc-Hardware_vulnerabilities-sublist" class="vector-toc-list">

</ul>

</li>
</ul>

</li>

<li id="toc-Development_tools" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Development_tools">

<div class="vector-toc-text">

<span class="vector-toc-numb">9</span>

<span>Development tools</span>

</div>

</a>

<ul id="toc-Development_tools-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Related_technologies" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Related_technologies">

<div class="vector-toc-text">

<span class="vector-toc-numb">10</span>

<span>Related technologies</span>

</div>

</a>

<button aria-controls="toc-Related_technologies-sublist" class="cdx-button


cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle" aria-expanded="false">

<span class="vector-icon mw-ui-icon-wikimedia-expand"></span>

<span>Toggle Related technologies subsection</span>

</button>

<ul id="toc-Related_technologies-sublist" class="vector-toc-list">

<li id="toc-Java" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Java">

<div class="vector-toc-text">
<span class="vector-toc-numb">10.1</span>

<span>Java</span>

</div>

</a>

<ul id="toc-Java-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-JSON" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#JSON">

<div class="vector-toc-text">

<span class="vector-toc-numb">10.2</span>

<span>JSON</span>

</div>

</a>

<ul id="toc-JSON-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Transpilers" class="vector-toc-list-item vector-toc-level-2">

<a class="vector-toc-link" href="#Transpilers">

<div class="vector-toc-text">

<span class="vector-toc-numb">10.3</span>

<span>Transpilers</span>

</div>

</a>

<ul id="toc-Transpilers-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-WebAssembly" class="vector-toc-list-item vector-toc-level-2">


<a class="vector-toc-link" href="#WebAssembly">

<div class="vector-toc-text">

<span class="vector-toc-numb">10.4</span>

<span>WebAssembly</span>

</div>

</a>

<ul id="toc-WebAssembly-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</li>

<li id="toc-References" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#References">

<div class="vector-toc-text">

<span class="vector-toc-numb">11</span>

<span>References</span>

</div>

</a>

<ul id="toc-References-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Sources" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Sources">

<div class="vector-toc-text">

<span class="vector-toc-numb">12</span>

<span>Sources</span>

</div>

</a>
<ul id="toc-Sources-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-Further_reading" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#Further_reading">

<div class="vector-toc-text">

<span class="vector-toc-numb">13</span>

<span>Further reading</span>

</div>

</a>

<ul id="toc-Further_reading-sublist" class="vector-toc-list">

</ul>

</li>

<li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1">

<a class="vector-toc-link" href="#External_links">

<div class="vector-toc-text">

<span class="vector-toc-numb">14</span>

<span>External links</span>

</div>

</a>

<ul id="toc-External_links-sublist" class="vector-toc-list">

</ul>

</li>

</ul>

</div></div>

</div>

</div>
</nav>

<h1 id="firstHeading" class="firstHeading mw-first-


heading"><span class="mw-page-title-main">JavaScript</span></h1>

<div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang">

<input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-


event-name="[Link]-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-
selector" aria-label="Go to an article in another language. Available in 109 languages">

<label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-


button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-
button--action-progressive mw-portlet-lang-heading-109" aria-hidden="true"><span class="vector-
icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span>

<span class="vector-dropdown-label-text">109 languages</span>

</label>

<div class="vector-dropdown-content">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li class="interlanguage-link interwiki-af mw-list-item"><a


href="[Link] title="JavaScript – Afrikaans" lang="af" hreflang="af"
class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link
interwiki-ang mw-list-item"><a href="[Link] title="JavaScript –
Old English" lang="ang" hreflang="ang"
class="interlanguage-link-target"><span>Ænglisc</span></a></li><li class="interlanguage-link
interwiki-ar mw-list-item"><a href="[Link]
%D8%A7%D9%81%D8%A7_%D8%B3%D9%83%D8%B1%D9%8A%D8%A8%D8%AA" title=" ‫جافا‬
‫ – سكريبت‬Arabic" lang="ar" hreflang="ar" class="interlanguage-link-target"><span>
‫<العربية‬/span></a></li><li class="interlanguage-link interwiki-an mw-list-item"><a
href="[Link] title="JavaScript – Aragonese" lang="an"
hreflang="an" class="interlanguage-link-target"><span>Aragonés</span></a></li><li
class="interlanguage-link interwiki-ast mw-list-item"><a
href="[Link] title="JavaScript – Asturian" lang="ast"
hreflang="ast" class="interlanguage-link-target"><span>Asturianu</span></a></li><li
class="interlanguage-link interwiki-az mw-list-item"><a
href="[Link] title="JavaScript – Azerbaijani" lang="az"
hreflang="az" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li
class="interlanguage-link interwiki-azb mw-list-item"><a
href="[Link]
%A9%D8%B1%DB%8C%D9%BE%D8%AA" title="‫ – جاوااسکریپت‬South Azerbaijani" lang="azb"
hreflang="azb" class="interlanguage-link-target"><span>‫<تۆرکجه‬/span></a></li><li
class="interlanguage-link interwiki-bn mw-list-item"><a
href="[Link]
%E0%A6%B8%E0%A7%8D%E0%A6%95%E0%A7%8D%E0%A6%B0%E0%A6%BF%E0%A6%AA
%E0%A7%8D%E0%A6%9F" title="জাভাস্ক্রিপ্ট – Bangla" lang="bn" hreflang="bn"
class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link
interwiki-zh-min-nan mw-list-item"><a href="[Link]
title="JavaScript – Minnan" lang="nan" hreflang="nan" class="interlanguage-link-target"><span>閩南語
/ Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a
href="[Link] title="JavaScript – Belarusian" lang="be"
hreflang="be" class="interlanguage-link-target"><span>Беларуская</span></a></li><li
class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="[Link]
[Link]/wiki/JavaScript" title="JavaScript – Belarusian (Taraškievica orthography)"
lang="be-tarask" hreflang="be-tarask" class="interlanguage-link-target"><span>Беларуская
(тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a
href="[Link] title="JavaScript – Bulgarian" lang="bg"
hreflang="bg" class="interlanguage-link-target"><span>Български</span></a></li><li
class="interlanguage-link interwiki-br mw-list-item"><a
href="[Link] title="Javascript – Breton" lang="br" hreflang="br"
class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link
interwiki-ca mw-list-item"><a href="[Link] title="JavaScript –
Catalan" lang="ca" hreflang="ca" class="interlanguage-link-target"><span>Català</span></a></li><li
class="interlanguage-link interwiki-cv mw-list-item"><a
href="[Link] title="JavaScript – Chuvash" lang="cv" hreflang="cv"
class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link
interwiki-cs mw-list-item"><a href="[Link] title="JavaScript –
Czech" lang="cs" hreflang="cs" class="interlanguage-link-target"><span>Čeština</span></a></li><li
class="interlanguage-link interwiki-da mw-list-item"><a
href="[Link] title="JavaScript – Danish" lang="da" hreflang="da"
class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link
interwiki-de mw-list-item"><a href="[Link] title="JavaScript –
German" lang="de" hreflang="de"
class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link
interwiki-et mw-list-item"><a href="[Link] title="JavaScript –
Estonian" lang="et" hreflang="et" class="interlanguage-link-target"><span>Eesti</span></a></li><li
class="interlanguage-link interwiki-el mw-list-item"><a
href="[Link] title="JavaScript – Greek" lang="el" hreflang="el"
class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link
interwiki-es mw-list-item"><a href="[Link] title="JavaScript –
Spanish" lang="es" hreflang="es"
class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link
interwiki-eo mw-list-item"><a href="[Link] title="JavaScript –
Esperanto" lang="eo" hreflang="eo"
class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link
interwiki-eu mw-list-item"><a href="[Link] title="JavaScript –
Basque" lang="eu" hreflang="eu"
class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link
interwiki-fa mw-list-item"><a href="[Link]
%D8%A7%D9%88%D8%A7%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA" title="
‫ – جاوااسکریپت‬Persian" lang="fa" hreflang="fa" class="interlanguage-link-target"><span>
‫<فارسی‬/span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a
href="[Link] title="JavaScript – French" lang="fr" hreflang="fr"
class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link
interwiki-gl mw-list-item"><a href="[Link] title="JavaScript –
Galician" lang="gl" hreflang="gl" class="interlanguage-link-target"><span>Galego</span></a></li><li
class="interlanguage-link interwiki-hak mw-list-item"><a
href="[Link] title="JavaScript – Hakka Chinese" lang="hak"
hreflang="hak" class="interlanguage-link-target"><span>客家語/Hak-kâ-ngî</span></a></li><li
class="interlanguage-link interwiki-ko mw-list-item"><a href="[Link]
%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8" title="자바스크립트 – Korean"
lang="ko" hreflang="ko" class="interlanguage-link-target"><span>한국어</span></a></li><li
class="interlanguage-link interwiki-ha mw-list-item"><a
href="[Link] title="JavaScript – Hausa" lang="ha" hreflang="ha"
class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link
interwiki-hy mw-list-item"><a href="[Link]
%D5%A1%D5%8D%D5%AF%D6%80%D5%AB%D5%BA%D5%BF" title=" ՋավաՍկրիպտ –
Armenian" lang="hy" hreflang="hy"
class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link
interwiki-hi mw-list-item"><a href="[Link]
%E0%A4%B5%E0%A4%BE%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A5%8D
%E0%A4%B0%E0%A4%BF%E0%A4%AA%E0%A5%8D%E0%A4%9F" title="जावास्क्रिप्ट –
Hindi" lang="hi" hreflang="hi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li
class="interlanguage-link interwiki-hr mw-list-item"><a
href="[Link] title="JavaScript – Croatian" lang="hr" hreflang="hr"
class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link
interwiki-io mw-list-item"><a href="[Link] title="JavaScript – Ido"
lang="io" hreflang="io" class="interlanguage-link-target"><span>Ido</span></a></li><li
class="interlanguage-link interwiki-id mw-list-item"><a
href="[Link] title="JavaScript – Indonesian" lang="id"
hreflang="id" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li
class="interlanguage-link interwiki-ia mw-list-item"><a
href="[Link] title="JavaScript – Interlingua" lang="ia" hreflang="ia"
class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link
interwiki-is mw-list-item"><a href="[Link] title="JavaScript –
Icelandic" lang="is" hreflang="is"
class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link
interwiki-it mw-list-item"><a href="[Link] title="JavaScript –
Italian" lang="it" hreflang="it" class="interlanguage-link-target"><span>Italiano</span></a></li><li
class="interlanguage-link interwiki-he mw-list-item"><a
href="[Link] title="JavaScript – Hebrew" lang="he" hreflang="he"
class="interlanguage-link-target"><span>‫<עברית‬/span></a></li><li class="interlanguage-link
interwiki-jv mw-list-item"><a href="[Link] title="JavaScript –
Javanese" lang="jv" hreflang="jv" class="interlanguage-link-target"><span>Jawa</span></a></li><li
class="interlanguage-link interwiki-ka mw-list-item"><a
href="[Link] title="JavaScript – Georgian" lang="ka" hreflang="ka"
class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link
interwiki-kk mw-list-item"><a href="[Link] title="JavaScript –
Kazakh" lang="kk" hreflang="kk"
class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link
interwiki-sw mw-list-item"><a href="[Link] title="JavaScript –
Swahili" lang="sw" hreflang="sw"
class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link
interwiki-ku mw-list-item"><a href="[Link] title="JavaScript –
Kurdish" lang="ku" hreflang="ku" class="interlanguage-link-target"><span>Kurdî</span></a></li><li
class="interlanguage-link interwiki-ky mw-list-item"><a
href="[Link] title="JavaScript – Kyrgyz" lang="ky" hreflang="ky"
class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link
interwiki-la mw-list-item"><a href="[Link] title="JavaScript – Latin"
lang="la" hreflang="la" class="interlanguage-link-target"><span>Latina</span></a></li><li
class="interlanguage-link interwiki-lv mw-list-item"><a
href="[Link] title="JavaScript – Latvian" lang="lv" hreflang="lv"
class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link
interwiki-lt mw-list-item"><a href="[Link] title="JavaScript –
Lithuanian" lang="lt" hreflang="lt"
class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link
interwiki-lfn mw-list-item"><a href="[Link] title="JavaScript –
Lingua Franca Nova" lang="lfn" hreflang="lfn" class="interlanguage-link-target"><span>Lingua Franca
Nova</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a
href="[Link] title="JavaScript – Lombard" lang="lmo"
hreflang="lmo" class="interlanguage-link-target"><span>Lombard</span></a></li><li
class="interlanguage-link interwiki-hu mw-list-item"><a
href="[Link] title="JavaScript – Hungarian" lang="hu"
hreflang="hu" class="interlanguage-link-target"><span>Magyar</span></a></li><li
class="interlanguage-link interwiki-mk mw-list-item"><a
href="[Link] title="JavaScript – Macedonian" lang="mk"
hreflang="mk" class="interlanguage-link-target"><span>Македонски</span></a></li><li
class="interlanguage-link interwiki-ml mw-list-item"><a
href="[Link]
%E0%B4%B8%E0%B5%8D%E0%B4%95%E0%B5%8D%E0%B4%B0%E0%B4%BF%E0%B4%AA
%E0%B5%8D%E0%B4%B1%E0%B5%8D%E0%B4%B1%E0%B5%8D" title="ജാവാസ്ക്രിപ്റ്റ് –
Malayalam" lang="ml" hreflang="ml" class="interlanguage-link-
target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a
href="[Link]
%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AA
%E0%A5%8D%E0%A4%9F" title="जावास्क्रिप्ट – Marathi" lang="mr" hreflang="mr"
class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link
interwiki-arz mw-list-item"><a href="[Link]
%D8%A7%D9%81%D8%A7_%D8%B3%D9%83%D8%B1%D9%8A%D8%A8%D8%AA" title=" ‫جافا‬
‫ – سكريبت‬Egyptian Arabic" lang="arz" hreflang="arz" class="interlanguage-link-target"><span>
‫<مصرى‬/span></a></li><li class="interlanguage-link interwiki-mzn mw-list-item"><a
href="[Link]
%A9%D8%B1%DB%8C%D9%BE%D8%AA" title="‫ – جاوااسکریپت‬Mazanderani" lang="mzn"
hreflang="mzn" class="interlanguage-link-target"><span>‫<ماِزرونی‬/span></a></li><li
class="interlanguage-link interwiki-ms mw-list-item"><a
href="[Link] title="JavaScript – Malay" lang="ms" hreflang="ms"
class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-
link interwiki-cdo mw-list-item"><a href="[Link] title="JavaScript
– Mindong" lang="cdo" hreflang="cdo" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-
ngṳ̄</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a
href="[Link] title="JavaScript – Mongolian" lang="mn"
hreflang="mn" class="interlanguage-link-target"><span>Монгол</span></a></li><li
class="interlanguage-link interwiki-my mw-list-item"><a
href="[Link] title="JavaScript – Burmese" lang="my"
hreflang="my" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li
class="interlanguage-link interwiki-nl mw-list-item"><a
href="[Link] title="JavaScript – Dutch" lang="nl" hreflang="nl"
class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link
interwiki-ne mw-list-item"><a href="[Link]
%E0%A4%AD%E0%A4%BE%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A5%8D
%E0%A4%B0%E0%A4%BF%E0%A4%AA%E0%A5%8D%E0%A4%9F" title="जाभास्क्रिप्ट –
Nepali" lang="ne" hreflang="ne" class="interlanguage-link-
target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a
href="[Link] title="JavaScript – Japanese" lang="ja" hreflang="ja"
class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-
frr mw-list-item"><a href="[Link] title="JavaScript – Northern
Frisian" lang="frr" hreflang="frr"
class="interlanguage-link-target"><span>Nordfriisk</span></a></li><li class="interlanguage-link
interwiki-no mw-list-item"><a href="[Link] title="JavaScript –
Norwegian Bokmål" lang="nb" hreflang="nb" class="interlanguage-link-target"><span>Norsk
bokmål</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a
href="[Link]
%B8%E0%AD%8D%E0%AC%95%E0%AD%8D%E0%AC%B0%E0%AC%BF%E0%AC%AA%E0%AD%8D
%E0%AC%9F" title="ଜାଭାସ୍କ୍ରିପ୍ଟ – Odia" lang="or" hreflang="or" class="interlanguage-link-
target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a
href="[Link] title="JavaScript – Uzbek" lang="uz" hreflang="uz"
class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li
class="interlanguage-link interwiki-pnb mw-list-item"><a
href="[Link]
%A9%D8%B1%D9%BE%D9%B9" title="‫ – جاوا سکرپٹ‬Western Punjabi" lang="pnb" hreflang="pnb"
class="interlanguage-link-target"><span>‫<پنجابی‬/span></a></li><li class="interlanguage-link
interwiki-blk mw-list-item"><a href="[Link] title="JavaScript –
Pa'O" lang="blk" hreflang="blk" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏ
သာႏ</span></a></li><li class="interlanguage-link interwiki-km mw-list-item"><a
href="[Link] title="JavaScript – Khmer" lang="km" hreflang="km"
class="interlanguage-link-target"><span>ភាសាខ្មែរ</span></a></li><li class="interlanguage-link
interwiki-pwn mw-list-item"><a href="[Link] title="JavaScript –
Paiwan" lang="pwn" hreflang="pwn"
class="interlanguage-link-target"><span>Pinayuanan</span></a></li><li class="interlanguage-link
interwiki-pl mw-list-item"><a href="[Link] title="JavaScript –
Polish" lang="pl" hreflang="pl" class="interlanguage-link-target"><span>Polski</span></a></li><li
class="interlanguage-link interwiki-pt mw-list-item"><a
href="[Link] title="JavaScript – Portuguese" lang="pt"
hreflang="pt" class="interlanguage-link-target"><span>Português</span></a></li><li
class="interlanguage-link interwiki-kaa mw-list-item"><a
href="[Link] title="JavaScript – Kara-Kalpak" lang="kaa"
hreflang="kaa" class="interlanguage-link-target"><span>Qaraqalpaqsha</span></a></li><li
class="interlanguage-link interwiki-ro mw-list-item"><a
href="[Link] title="JavaScript – Romanian" lang="ro"
hreflang="ro" class="interlanguage-link-target"><span>Română</span></a></li><li
class="interlanguage-link interwiki-qu mw-list-item"><a
href="[Link] title="JavaScript – Quechua" lang="qu"
hreflang="qu" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li
class="interlanguage-link interwiki-ru mw-list-item"><a
href="[Link] title="JavaScript – Russian" lang="ru" hreflang="ru"
class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link
interwiki-sah mw-list-item"><a href="[Link] title="JavaScript –
Yakut" lang="sah" hreflang="sah" class="interlanguage-link-target"><span>Саха
тыла</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a
href="[Link] title="JavaScript – Scots" lang="sco" hreflang="sco"
class="interlanguage-link-target"><span>Scots</span></a></li><li class="interlanguage-link
interwiki-sq mw-list-item"><a href="[Link] title="JavaScript –
Albanian" lang="sq" hreflang="sq" class="interlanguage-link-target"><span>Shqip</span></a></li><li
class="interlanguage-link interwiki-si mw-list-item"><a
href="[Link]
%E0%B6%B4%E0%B6%AF%E0%B7%9A%E0%B7%81%E0%B7%8F%E0%B7%80%E0%B6%BD
%E0%B7%92%E0%B6%BA" title="ජාවා උපදේශාවලිය – Sinhala" lang="si" hreflang="si"
class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link
interwiki-simple mw-list-item"><a href="[Link]
title="JavaScript – Simple English" lang="en-simple" hreflang="en-simple" class="interlanguage-link-
target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-
item"><a href="[Link] title="JavaScript – Slovak" lang="sk"
hreflang="sk" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li
class="interlanguage-link interwiki-sl mw-list-item"><a
href="[Link] title="JavaScript – Slovenian" lang="sl" hreflang="sl"
class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link
interwiki-so mw-list-item"><a href="[Link] title="JavaScript –
Somali" lang="so" hreflang="so"
class="interlanguage-link-target"><span>Soomaaliga</span></a></li><li class="interlanguage-link
interwiki-ckb mw-list-item"><a href="[Link]
%A4%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA" title="‫ – جاڤاسکریپت‬Central
Kurdish" lang="ckb" hreflang="ckb" class="interlanguage-link-target"><span>
‫<کوردی‬/span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a
href="[Link] title="JavaScript – Serbian" lang="sr" hreflang="sr"
class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-
link interwiki-sh mw-list-item"><a href="[Link] title="JavaScript –
Serbo-Croatian" lang="sh" hreflang="sh" class="interlanguage-link-target"><span>Srpskohrvatski /
српскохрватски</span></a></li><li class="interlanguage-link interwiki-su mw-list-item"><a
href="[Link] title="JavaScript – Sundanese" lang="su"
hreflang="su" class="interlanguage-link-target"><span>Sunda</span></a></li><li
class="interlanguage-link interwiki-fi mw-list-item"><a href="[Link]
title="JavaScript – Finnish" lang="fi" hreflang="fi"
class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link
interwiki-sv mw-list-item"><a href="[Link] title="Javascript –
Swedish" lang="sv" hreflang="sv"
class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link
interwiki-tl mw-list-item"><a href="[Link] title="JavaScript –
Tagalog" lang="tl" hreflang="tl" class="interlanguage-link-target"><span>Tagalog</span></a></li><li
class="interlanguage-link interwiki-ta mw-list-item"><a href="[Link]
%AF%E0%AE%BE%E0%AE%B5%E0%AE%BE%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AE%BF
%E0%AE%B1%E0%AE%BF%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81"
title="யாவாக்கிறிட்டு – Tamil" lang="ta" hreflang="ta" class="interlanguage-link-
target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-kab mw-list-item"><a
href="[Link] title="JavaScript – Kabyle" lang="kab"
hreflang="kab" class="interlanguage-link-target"><span>Taqbaylit</span></a></li><li
class="interlanguage-link interwiki-tt mw-list-item"><a
href="[Link] title="JavaScript – Tatar" lang="tt" hreflang="tt"
class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-
link interwiki-te mw-list-item"><a href="[Link]
%E0%B0%B5%E0%B0%BE%E0%B0%B8%E0%B1%8D%E0%B0%95%E0%B1%8D
%E0%B0%B0%E0%B0%BF%E0%B0%AA%E0%B1%8D%E0%B0%9F%E0%B1%81"
title="జావాస్క్రిప్టు – Telugu" lang="te" hreflang="te" class="interlanguage-link-
target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-tet mw-list-item"><a
href="[Link] title="JavaScript – Tetum" lang="tet" hreflang="tet"
class="interlanguage-link-target"><span>Tetun</span></a></li><li class="interlanguage-link
interwiki-th mw-list-item"><a
href="[Link]
%E0%B8%84%E0%B8%A3%E0%B8%B4%E0%B8%9B%E0%B8%95%E0%B9%8C" title="จาวา
สคริปต์ – Thai" lang="th" hreflang="th" class="interlanguage-link-
target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a
href="[Link] title="JavaScript – Turkish" lang="tr" hreflang="tr"
class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link
interwiki-tk mw-list-item"><a href="[Link] title="JavaScript –
Turkmen" lang="tk" hreflang="tk"
class="interlanguage-link-target"><span>Türkmençe</span></a></li><li class="interlanguage-link
interwiki-bug mw-list-item"><a href="[Link] title="JavaScript –
Buginese" lang="bug" hreflang="bug" class="interlanguage-link-target"><span>Basa
Ugi</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a
href="[Link] title="JavaScript – Ukrainian" lang="uk"
hreflang="uk" class="interlanguage-link-target"><span>Українська</span></a></li><li
class="interlanguage-link interwiki-ur mw-list-item"><a href="[Link]
%D8%A7%D9%88%D8%A7_%D8%A7%D8%B3%DA%A9%D8%B1%D9%BE%D9%B9" title=" ‫جاوا‬
‫ – اسکرپٹ‬Urdu" lang="ur" hreflang="ur" class="interlanguage-link-target"><span>
‫<اردو‬/span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a
href="[Link] title="JavaScript – Venetian" lang="vec"
hreflang="vec" class="interlanguage-link-target"><span>Vèneto</span></a></li><li
class="interlanguage-link interwiki-vi mw-list-item"><a
href="[Link] title="JavaScript – Vietnamese" lang="vi"
hreflang="vi" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li
class="interlanguage-link interwiki-zh-classical mw-list-item"><a href="[Link]
[Link]/wiki/%E7%88%AA%E5%93%87%E6%89%8B%E7%A8%BF%E8%AA%9E"
title="爪哇手稿語 – Literary Chinese" lang="lzh" hreflang="lzh" class="interlanguage-link-target"><span>
文言</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a
href="[Link] title="JavaScript – Wu" lang="wuu"
hreflang="wuu" class="interlanguage-link-target"><span>吴语</span></a></li><li
class="interlanguage-link interwiki-zh-yue mw-list-item"><a
href="[Link] title="JavaScript – Cantonese" lang="yue"
hreflang="yue" class="interlanguage-link-target"><span>粵語</span></a></li><li
class="interlanguage-link interwiki-bat-smg mw-list-item"><a
href="[Link] title="JavaScript – Samogitian" lang="sgs"
hreflang="sgs" class="interlanguage-link-target"><span>Žemaitėška</span></a></li><li
class="interlanguage-link interwiki-zh mw-list-item"><a
href="[Link] title="JavaScript – Chinese" lang="zh" hreflang="zh"
class="interlanguage-link-target"><span>中文</span></a></li>

</ul>

<div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit


wb-langlinks-link"><a href="[Link]
wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div>

</div>

</div>

</div>

</header>

<div class="vector-page-toolbar">

<div class="vector-page-toolbar-container">

<div id="left-navigation">

<nav aria-label="Namespaces">

<div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-


associated-pages">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">
<li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a
href="/wiki/JavaScript" title="View the content page [alt-shift-c]"
accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-
item"><a href="/wiki/Talk:JavaScript" rel="discussion" title="Discuss improvements to the content
page [alt-shift-t]" accesskey="t"><span>Talk</span></a></li>

</ul>

</div>

</div>

<div id="p-variants" class="vector-dropdown emptyPortlet">

<input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-


event-name="[Link]-p-variants" class="vector-dropdown-checkbox " aria-label="Change
language variant">

<label id="p-variants-label" for="p-variants-checkbox" class="vector-dropdown-label cdx-


button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-
hidden="true"><span class="vector-dropdown-label-text">English</span>

</label>

<div class="vector-dropdown-content">

<div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

</ul>

</div>

</div>
</div>

</div>

</nav>

</div>

<div id="right-navigation" class="vector-


collapsible">

<nav aria-label="Views">

<div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views">

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a


href="/wiki/JavaScript"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-
noicon mw-list-item"><a href="/w/[Link]?title=JavaScript&amp;action=edit" title="This page is
protected.

You can view its source [alt-shift-e]" accesskey="e"><span>View source</span></a></li><li id="ca-


history" class="vector-tab-noicon mw-list-item"><a href="/w/[Link]?
title=JavaScript&amp;action=history" title="Past revisions of this page [alt-shift-h]"
accesskey="h"><span>View history</span></a></li>

</ul>

</div>

</div>

</nav>

<nav class="vector-page-tools-landmark"
aria-label="Page tools">

<div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown">


<input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-
haspopup="true" data-event-name="[Link]-vector-page-tools-dropdown" class="vector-
dropdown-checkbox " aria-label="Tools">

<label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox"


class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled
cdx-button--weight-quiet" aria-hidden="true"><span
class="vector-dropdown-label-text">Tools</span>

</label>

<div class="vector-dropdown-content">

<div id="vector-page-tools-
unpinned-container" class="vector-unpinned-container">

<div id="vector-page-tools" class="vector-page-tools vector-pinnable-element">

<div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-


header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-
tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-
id="vector-page-tools-unpinned-container" data-saved-pinned-state="false">

<div class="vector-pinnable-header-label">Tools</div>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button"


data-event-name="[Link]">move to sidebar</button>

<button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button"


data-event-name="[Link]">hide</button>

</div>

<div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-


collapsible-items" title="More options">

<div class="vector-menu-heading">

Actions

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">
<li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-
item"><a href="/wiki/JavaScript"><span>Read</span></a></li><li id="ca-more-viewsource"
class="vector-more-collapsible-item mw-list-item"><a href="/w/[Link]?
title=JavaScript&amp;action=edit"><span>View source</span></a></li><li id="ca-more-history"
class="vector-more-collapsible-item mw-list-item"><a href="/w/[Link]?
title=JavaScript&amp;action=history"><span>View history</span></a></li>

</ul>

</div>

</div>

<div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb">

<div class="vector-menu-heading">

General

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="t-whatlinkshere" class="mw-list-item"><a


href="/wiki/Special:WhatLinksHere/JavaScript" title="List of all English Wikipedia pages containing
links to this page [alt-shift-j]" accesskey="j"><span>What links here</span></a></li><li id="t-
recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/JavaScript"
rel="nofollow" title="Recent changes in pages linked from this page [alt-shift-k]"
accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a
href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [alt-shift-u]"
accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a
href="/wiki/Special:SpecialPages" title="A list of all special pages [alt-shift-q]"
accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a
href="[Link]
title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-
info" class="mw-list-item"><a href="/w/[Link]?title=JavaScript&amp;action=info" title="More
information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-
item"><a href="/w/[Link]?
title=Special:CiteThisPage&amp;page=JavaScript&amp;id=1219507869&amp;wpFormIdentifier=titlef
orm" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-
urlshortener" class="mw-list-item"><a href="/w/[Link]?
title=Special:UrlShortener&amp;url=https%3A%2F%[Link]%2Fwiki%2FJavaScript" aria-
haspopup="dialog"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode"
class="mw-list-item"><a href="/w/[Link]?title=Special:QrCode&amp;url=https%3A%2F
%[Link]%2Fwiki%2FJavaScript"><span>Download QR code</span></a></li><li id="t-
wikibase" class="mw-list-item"><a href="[Link]
title="Structured data on this page hosted by Wikidata [alt-shift-g]" accesskey="g"><span>Wikidata
item</span></a></li>

<li class="mw-list-item mw-list-item-js" id="t-collapsible-toggle-all"><a href="#"


title="Expand all collapsible elements on the current page" role="button" aria-
expanded="false"><span>Expand all</span></a></li><li class="mw-list-item mw-list-item-js"
id="wbc-editpage"><a href="[Link]
wikipedia" title="Edit interlanguage links"><span>Edit interlanguage links</span></a></li></ul>

</div>

</div>

<div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export">

<div class="vector-menu-heading">

Print/export

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li id="coll-download-as-rl" class="mw-list-item"><a href="/w/[Link]?


title=Special:DownloadAsPdf&amp;page=JavaScript&amp;action=show-download-screen"
title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print"
class="mw-list-item"><a href="/w/[Link]?title=JavaScript&amp;printable=yes" title="Printable
version of this page [alt-shift-p]" accesskey="p"><span>Printable version</span></a></li>

</ul>

</div>

</div>

<div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-


otherprojects">

<div class="vector-menu-heading">
In other projects

</div>

<div class="vector-menu-content">

<ul class="vector-menu-content-list">

<li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a


href="[Link] hreflang="en"><span>Wikimedia
Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-
item"><a href="[Link]
hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-
wikibooks mw-list-item"><a href="[Link]
hreflang="en"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-
wikifunctions mw-list-item"><a href="[Link]
hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-
otherproject-wikiversity mw-list-item"><a
href="[Link]
hreflang="en"><span>Wikiversity</span></a></li>

</ul>

</div>

</div>

</div>

</div>

</div>

</div>

</nav>

</div>

</div>

</div>

<div class="vector-column-end">
<div class="vector-sticky-pinned-container">

<nav class="vector-page-tools-landmark" aria-


label="Page tools">

<div id="vector-page-tools-pinned-
container" class="vector-pinned-container">

</div>

</nav>

<nav class="vector-appearance-landmark" aria-


label="Appearance">

</nav>

</div>

</div>

<div id="bodyContent" class="vector-body ve-init-mw-


desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-
container="">

<div class="vector-body-before-content">

<div class="mw-indicators">

<div id="mw-indicator-pp-default" class="mw-indicator"><div class="mw-parser-


output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Protection_policy#semi" title="This
article is semi-protected."><img alt="Page semi-protected"
src="//[Link]/wikipedia/en/thumb/1/1b/[Link]/20px-Semi-
[Link]" decoding="async" width="20" height="20" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/1/1b/[Link]/30px-Semi-
[Link] 1.5x, //[Link]/wikipedia/en/thumb/1/1b/Semi-
[Link]/[Link] 2x" data-file-width="512" data-file-
height="512"></a></span></div></div>

<div id="mw-indicator-spoken-icon" class="mw-indicator"><div class="mw-parser-


output"><span typeof="mw:File"><a href="/wiki/File:[Link]" title="Listen to this
article"><img alt="Listen to this article"
src="//[Link]/wikipedia/commons/thumb/4/47/[Link]/20px-Sound-
[Link]" decoding="async" width="20" height="15" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/4/47/[Link]/30px-Sound-
[Link] 1.5x, //[Link]/wikipedia/commons/thumb/4/47/[Link]/40px-
[Link] 2x" data-file-width="128" data-file-height="96"></a></span></div></div>

</div>
<div id="siteSub" class="noprint">From Wikipedia,
the free encyclopedia</div>

</div>

<div id="contentSub"><div id="mw-content-subtitle"><div


id="mw-fr-revisiontag" class="flaggedrevs_short flaggedrevs_stable_synced plainlinks noprint"><div
class="flaggedrevs_short_basic"><span class="flaggedrevs-icon flaggedrevs-icon-articleSearch"
title="Changes must be reviewed before being displayed on this page."></span><span class="fr-
toggle-arrow flaggedrevs-icon flaggedrevs-icon-expand" id="mw-fr-revisiontoggle" title="show/hide
details"></span></div>

<div id="mw-fr-revisiondetails-wrapper" style="position:relative;"><div id="mw-fr-revisiondetails"


class="flaggedrevs_short_details" style="display:none">This is the <a
href="/wiki/Wikipedia:Pending_changes" title="Wikipedia:Pending changes">latest accepted
revision</a>, <a class="external text" href="[Link]
title=Special:Log&amp;type=review&amp;page=JavaScript">reviewed</a> on <i>18 April
2024</i>.</div>

</div>

</div>

</div></div>

<div id="mw-content-text" class="mw-body-content"><div


class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile
noexcerpt noprint searchaux" style="display:none">High-level programming language</div>

<p class="mw-empty-elt">

</p>

<style data-mw-deduplicate="TemplateStyles:r1033289096">.mw-parser-output .hatnote{font-


style:italic}.mw-parser-output [Link]{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-
output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-
0.5em}</style><div role="note" class="hatnote navigation-not-searchable">Not to be confused with
<a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java
(programming language)</a>, <a href="/wiki/Javanese_script" title="Javanese script">Javanese
script</a>, or <a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a>.</div>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">".js" redirects here. For the Microsoft dialect
used in Internet Explorer, see <a href="/wiki/JScript" title="JScript">JScript</a>.</div>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable selfref">For the uses of JavaScript on
Wikipedia, see <a href="/wiki/Wikipedia:WikiProject_JavaScript" title="Wikipedia:WikiProject
JavaScript">Wikipedia:WikiProject JavaScript</a>.</div>
<p class="mw-empty-elt">

</p>

<style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-


output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-
parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-
output .[Link],.mw-parser-output .[Link] dl,.mw-parser-output .[Link] ol,.mw-parser-
output .[Link] ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-
output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-
output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-
output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-
output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist
li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-
output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-
output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-
output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-
output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-
output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-
output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd
dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-
child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-
child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-
child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-
child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-
parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:"
"counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist
dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:"
("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1218072481">.mw-
parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-
width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-
output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-
size:100%}[Link]-minerva .mw-parser-output .infobox-header,[Link]-minerva .mw-parser-
output .infobox-subheader,[Link]-minerva .mw-parser-output .infobox-above,[Link]-
minerva .mw-parser-output .infobox-title,[Link]-minerva .mw-parser-output .infobox-
image,[Link]-minerva .mw-parser-output .infobox-full-data,[Link]-minerva .mw-parser-output
.infobox-below{text-align:center}[Link]-theme-clientpref-night .mw-parser-output .infobox-full-
data div{background:#1f1f23!important;color:#f8f9fa}@media(prefers-color-scheme:dark){[Link]-
theme-clientpref-os .mw-parser-output .infobox-full-data div{background:#1f1f23!
important;color:#f8f9fa}}</style><table class="infobox vevent"><caption class="infobox-title
summary">JavaScript</caption><tbody><tr><td colspan="2" class="infobox-image"><span
typeof="mw:File"><a href="/wiki/File:JavaScript_code.png" class="mw-file-description"><img
src="//[Link]/wikipedia/commons/thumb/a/a4/JavaScript_code.png/300px-
JavaScript_code.png" decoding="async" width="300" height="200" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/a/a4/JavaScript_code.png/450px-
JavaScript_code.png 1.5x,
//[Link]/wikipedia/commons/thumb/a/a4/JavaScript_code.png/600px-
JavaScript_code.png 2x" data-file-width="882" data-file-height="587"></a></span><div
class="infobox-caption">Screenshot of JavaScript source code</div></td></tr><tr><th scope="row"
class="infobox-label"><a href="/wiki/Programming_paradigm" title="Programming
paradigm">Paradigm</a></th><td class="infobox-data"><a href="/wiki/Multi-paradigm" class="mw-
redirect" title="Multi-paradigm">Multi-paradigm</a>: <a href="/wiki/Event-driven_programming"
title="Event-driven programming">event-driven</a>, <a href="/wiki/Functional_programming"
title="Functional programming">functional</a>, <a href="/wiki/Imperative_programming"
title="Imperative programming">imperative</a>, <a href="/wiki/Procedural_programming"
title="Procedural programming">procedural</a>, <a href="/wiki/Object-oriented_programming"
title="Object-oriented programming">object-oriented</a></td></tr><tr><th scope="row"
class="infobox-label"><a href="/wiki/Software_design" title="Software
design">Designed&nbsp;by</a></th><td class="infobox-data"><a href="/wiki/Brendan_Eich"
title="Brendan Eich">Brendan Eich</a> of <a href="/wiki/Netscape" title="Netscape">Netscape</a>
initially; others have also contributed to the <a href="/wiki/ECMAScript"
title="ECMAScript">ECMAScript</a> standard</td></tr><tr><th scope="row" class="infobox-
label">First&nbsp;appeared</th><td class="infobox-data">December&nbsp;4, 1995<span
class="noprint">; 28 years ago</span><span style="display:none">&nbsp;(<span class="bday dtstart
published updated">1995-12-04</span>)</span><sup id="cite_ref-press_release_1-0"
class="reference"><a href="#cite_note-press_release-1">[1]</a></sup></td></tr><tr><td
colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1218072481"></td></tr><tr><th scope="row" class="infobox-label"
style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release
life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">ECMAScript
2023<sup id="cite_ref-wikidata-d7f43e85b8900d2d29227ac1622064499af14a0f-v11_2-0"
class="reference"><a href="#cite_note-wikidata-d7f43e85b8900d2d29227ac1622064499af14a0f-
v11-2">[2]</a></sup>&nbsp;<span class="mw-valign-text-top" typeof="mw:File/Frameless"><a
href="[Link] title="Edit this on Wikidata"><img
alt="Edit this on Wikidata"
src="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/10px-
OOjs_UI_icon_edit-[Link]" decoding="async" width="10" height="10" class="mw-
file-element" srcset="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-
[Link]/15px-OOjs_UI_icon_edit-[Link] 1.5x,
//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/20px-
OOjs_UI_icon_edit-[Link] 2x" data-file-width="20"
data-file-height="20"></a></span>

/ June 2023<span class="noprint">; 12 months ago</span><span style="display:none">&nbsp;


(<span class="bday dtstart published updated">June 2023</span>)</span></div></td></tr><tr><th
scope="row" class="infobox-label" style="white-space: nowrap;"><a
href="/wiki/Software_release_life_cycle#Beta" title="Software release life cycle">Preview
release</a></th><td class="infobox-data"><div style="margin:0px;">ECMAScript 2025<sup
id="cite_ref-wikidata-6351048ad5638805e5935d8ba81b639a34072b65-v11_3-0"
class="reference"><a href="#cite_note-wikidata-6351048ad5638805e5935d8ba81b639a34072b65-
v11-3">[3]</a></sup>&nbsp;<span class="mw-valign-text-top" typeof="mw:File/Frameless"><a
href="[Link] title="Edit this on Wikidata"><img
alt="Edit this on Wikidata"
src="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/10px-
OOjs_UI_icon_edit-[Link]" decoding="async" width="10" height="10" class="mw-
file-element" srcset="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-
[Link]/15px-OOjs_UI_icon_edit-[Link] 1.5x,
//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/20px-
OOjs_UI_icon_edit-[Link] 2x" data-file-width="20"
data-file-height="20"></a></span>

/ 27 March 2024<span class="noprint">; 2 months ago</span><span style="display:none">&nbsp;


(<span class="bday dtstart published updated">27 March 2024</span>)</span></div></td></tr><tr
style="display:none"><td colspan="2">

</td></tr><tr><th scope="row" class="infobox-label"><a href="/wiki/Type_system" title="Type


system">Typing discipline</a></th><td class="infobox-data"><a href="/wiki/Dynamic_typing"
class="mw-redirect" title="Dynamic typing">Dynamic</a>, <a href="/wiki/Weak_typing" class="mw-
redirect" title="Weak typing">weak</a>, <a href="/wiki/Duck_typing" title="Duck
typing">duck</a></td></tr><tr><th scope="row" class="infobox-label"><a
href="/wiki/Filename_extension" title="Filename extension">Filename extensions</a></th><td
class="infobox-data"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><div class="hlist">

<ul><li><code>.js</code></li>

<li><code>.cjs</code></li>

<li><code>.mjs</code><sup id="cite_ref-node.js_ECMAScript_Modules_Specification_4-0"
class="reference"><a href="#cite_note-node.js_ECMAScript_Modules_Specification-4">[4]</a></
sup></li></ul>

</div></td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-


data"><span class="url"><a rel="nofollow" class="external text" href="[Link]
[Link]/publications-and-standards/standards/ecma-262/">ecma-
international<wbr>.org<wbr>/publications-and-standards<wbr>/standards<wbr>/ecma-262<wbr>/
</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color:
#eee;">Major <a href="/wiki/Programming_language_implementation" title="Programming
language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-
data"><a href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8</a>, <a
href="/wiki/JavaScriptCore" class="mw-redirect" title="JavaScriptCore">JavaScriptCore</a>, <a
href="/wiki/SpiderMonkey_(JavaScript_engine)" class="mw-redirect" title="SpiderMonkey
(JavaScript engine)">SpiderMonkey</a>, <a href="/wiki/Chakra_(JScript_engine)" title="Chakra
(JScript engine)">Chakra</a></td></tr><tr><th colspan="2" class="infobox-header"
style="background-color: #eee;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-
data"><a href="/wiki/Java_(programming_language)" title="Java (programming
language)">Java</a>,<sup id="cite_ref-looklikejava_5-0" class="reference"><a href="#cite_note-
looklikejava-5">[5]</a></sup><sup id="cite_ref-origin_6-0" class="reference"><a href="#cite_note-
origin-6">[6]</a></sup> <a href="/wiki/Scheme_(programming_language)" title="Scheme
(programming language)">Scheme</a>,<sup id="cite_ref-origin_6-1" class="reference"><a
href="#cite_note-origin-6">[6]</a></sup> <a href="/wiki/Self_(programming_language)" title="Self
(programming language)">Self</a>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-
7">[7]</a></sup> <a href="/wiki/AWK" title="AWK">AWK</a>,<sup id="cite_ref-8"
class="reference"><a href="#cite_note-8">[8]</a></sup> <a href="/wiki/HyperTalk"
title="HyperTalk">HyperTalk</a><sup id="cite_ref-9" class="reference"><a href="#cite_note-
9">[9]</a></sup></td></tr><tr><th colspan="2" class="infobox-header" style="background-color:
#eee;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a
href="/wiki/ActionScript" title="ActionScript">ActionScript</a>, <a href="/wiki/ArkTS"
title="ArkTS">ArkTS</a>, <a href="/wiki/AssemblyScript"
title="AssemblyScript">AssemblyScript</a>, <a href="/wiki/CoffeeScript"
title="CoffeeScript">CoffeeScript</a>, <a href="/wiki/Dart_(programming_language)" title="Dart
(programming language)">Dart</a>, <a href="/wiki/Haxe" title="Haxe">Haxe</a>, <a href="/wiki/JS
%2B%2B" title="JS++">JS++</a>, <a href="/wiki/Opa_(programming_language)" title="Opa
(programming language)">Opa</a>, <a href="/wiki/TypeScript"
title="TypeScript">TypeScript</a></td></tr><tr><td colspan="2" class="infobox-below hlist"
style="border-top: 1px solid #aaa; padding-top: 3px;">

<ul><li><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikibooks-logo-en-


[Link]" class="mw-file-description"><img alt=""
src="//[Link]/wikipedia/commons/thumb/d/df/[Link]/
[Link]" decoding="async" width="16" height="16" class="mw-
file-element" srcset="//[Link]/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-
[Link]/[Link] 1.5x,
//[Link]/wikipedia/commons/thumb/d/df/[Link]/32px-
[Link] 2x" data-file-width="400" data-file-height="400"></a></span>
<a href="[Link] class="extiw"
title="wikibooks:JavaScript">JavaScript</a> at Wikibooks</li></ul>

</td></tr></tbody></table>

<p><b>JavaScript</b> (<span class="rt-commentedText nowrap"><span class="IPA nopopups


noexcerpt" lang="en-fonipa"><a href="/wiki/Help:IPA/English" title="Help:IPA/English">/<span
style="border-bottom:1px dotted"><span title="/ˈ/: primary stress follows">ˈ</span><span
title="/dʒ/: 'j' in 'jam'">dʒ</span><span title="/ɑː/: 'a' in 'father'">ɑː</span><span title="'v' in
'vie'">v</span><span title="/ə/: 'a' in 'about'">ə</span><span title="'s' in 'sigh'">s</span><span
title="'k' in 'kind'">k</span><span title="'r' in 'rye'">r</span><span title="/ɪ/: 'i' in
'kit'">ɪ</span><span title="'p' in 'pie'">p</span><span title="'t' in
'tie'">t</span></span>/</a></span></span>), often abbreviated as <b>JS</b>, is a <a
href="/wiki/Programming_language" title="Programming language">programming language</a> and
core technology of <a href="/wiki/World_Wide_Web" title="World Wide Web">the Web</a>,
alongside <a href="/wiki/HTML" title="HTML">HTML</a> and <a href="/wiki/CSS"
title="CSS">CSS</a>. 99% of <a href="/wiki/Website" title="Website">websites</a> use JavaScript
on the <a href="/wiki/Client_(computing)" title="Client (computing)">client</a> side for <a
href="/wiki/Web_page" title="Web page">webpage</a> behavior.<sup id="cite_ref-
deployedstats_10-0" class="reference"><a href="#cite_note-deployedstats-10">[10]</a></sup>

</p><p><a href="/wiki/Web_browser" title="Web browser">Web browsers</a> have a dedicated <a


href="/wiki/JavaScript_engine" title="JavaScript engine">JavaScript engine</a> that executes the
client <a href="/wiki/Source_code" title="Source code">code</a>. These engines are also utilized in
some <a href="/wiki/Server_(computing)" title="Server (computing)">servers</a> and a variety of <a
href="/wiki/Application_software" title="Application software">apps</a>. The most popular <a
href="/wiki/Runtime_system" title="Runtime system">runtime system</a> for non-browser usage is
<a href="/wiki/[Link]" title="[Link]">[Link]</a>.

</p><p>JavaScript is a <a href="/wiki/High-level_programming_language" title="High-level


programming language">high-level</a>, often <a href="/wiki/Just-in-time_compilation" title="Just-
in-time compilation">just-in-time compiled</a> language that conforms to the <a
href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a> standard.<sup id="cite_ref-tc39_11-0"
class="reference"><a href="#cite_note-tc39-11">[11]</a></sup> It has <a
href="/wiki/Dynamic_typing" class="mw-redirect" title="Dynamic typing">dynamic typing</a>, <a
href="/wiki/Prototype-based_programming" title="Prototype-based programming">prototype-
based</a> <a href="/wiki/Object-oriented_programming" title="Object-oriented
programming">object-orientation</a>, and <a href="/wiki/First-class_function" title="First-class
function">first-class functions</a>. It is <a href="/wiki/Programming_paradigm" title="Programming
paradigm">multi-paradigm</a>, supporting <a href="/wiki/Event-driven_programming" title="Event-
driven programming">event-driven</a>, <a href="/wiki/Functional_programming" title="Functional
programming">functional</a>, and <a href="/wiki/Imperative_programming" title="Imperative
programming">imperative</a> <a href="/wiki/Programming_paradigm" title="Programming
paradigm">programming styles</a>. It has <a href="/wiki/Application_programming_interface"
class="mw-redirect" title="Application programming interface">application programming
interfaces</a> (APIs) for working with text, dates, <a href="/wiki/Regular_expression" title="Regular
expression">regular expressions</a>, standard <a href="/wiki/Data_structure" title="Data
structure">data structures</a>, and the <a href="/wiki/Document_Object_Model" title="Document
Object Model">Document Object Model</a> (DOM).

</p><p>The ECMAScript standard does not include any <a href="/wiki/Input/output"


title="Input/output">input/output</a> (I/O), such as <a href="/wiki/Computer_network"
title="Computer network">networking</a>, <a href="/wiki/Data_storage" title="Data
storage">storage</a>, or <a href="/wiki/Computer_graphics" title="Computer
graphics">graphics</a> facilities. In practice, the web browser or other runtime system provides
JavaScript APIs for I/O.

</p><p>Although <a href="/wiki/Java_(programming_language)" title="Java (programming


language)">Java</a> and JavaScript are similar in name, <a
href="/wiki/Syntax_(programming_languages)" title="Syntax (programming languages)">syntax</a>,
and respective <a href="/wiki/Standard_library" title="Standard library">standard libraries</a>, the
two languages are distinct and differ greatly in design.

</p>

<meta property="mw:PageProp/toc">

<h2><span class="mw-headline" id="History">History</span></h2>

<h3><span class="mw-headline" id="Creation_at_Netscape">Creation at Netscape</span></h3>

<p>The first popular <a href="/wiki/Web_browser" title="Web browser">web browser</a> with a <a
href="/wiki/Graphical_user_interface" title="Graphical user interface">graphical user interface</a>,
<a href="/wiki/Mosaic_(web_browser)" title="Mosaic (web browser)">Mosaic</a>, was released in
1993. Accessible to non-technical people, it played a prominent role in the rapid growth of the early
<a href="/wiki/World_Wide_Web" title="World Wide Web">World Wide Web</a>.<sup id="cite_ref-
12" class="reference"><a href="#cite_note-12">[12]</a></sup> The lead developers of Mosaic then
founded the <a href="/wiki/Netscape" title="Netscape">Netscape</a> corporation, which released a
more polished browser, <a href="/wiki/Netscape_Navigator" title="Netscape Navigator">Netscape
Navigator</a>, in 1994. This quickly became the most-used.<sup id="cite_ref-13"
class="reference"><a href="#cite_note-13">[13]</a></sup>
</p><p>During these formative years of the Web, <a href="/wiki/Web_page" title="Web page">web
pages</a> could only be static, lacking the capability for dynamic behavior after the page was loaded
in the browser. There was a desire in the flourishing web development scene to remove this
limitation, so in 1995, Netscape decided to add a <a href="/wiki/Programming_language"
title="Programming language">programming language</a> to Navigator. They pursued two routes to
achieve this: collaborating with <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun
Microsystems</a> to embed the <a href="/wiki/Java_(programming_language)" title="Java
(programming language)">Java</a> language, while also hiring <a href="/wiki/Brendan_Eich"
title="Brendan Eich">Brendan Eich</a> to embed the <a
href="/wiki/Scheme_(programming_language)" title="Scheme (programming
language)">Scheme</a> language.<sup id="cite_ref-origin_6-2" class="reference"><a
href="#cite_note-origin-6">[6]</a></sup>

</p><p>The goal was a "language for the masses",<sup id="cite_ref-EichVideo_14-0"


class="reference"><a href="#cite_note-EichVideo-14">[14]</a></sup> "to help nonprogrammers
create dynamic, interactive <a href="/wiki/Website" title="Website">Web sites</a>".<sup
id="cite_ref-15" class="reference"><a href="#cite_note-15">[15]</a></sup> Netscape management
soon decided that the best option was for Eich to devise a new language, with syntax similar to Java
and less like Scheme or other extant <a href="/wiki/Scripting_language" title="Scripting
language">scripting languages</a>.<sup id="cite_ref-looklikejava_5-1" class="reference"><a
href="#cite_note-looklikejava-5">[5]</a></sup><sup id="cite_ref-origin_6-3" class="reference"><a
href="#cite_note-origin-6">[6]</a></sup> Although the new language and its <a
href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">interpreter</a>
implementation were called LiveScript when first shipped as part of a Navigator <a
href="/wiki/Beta_software" class="mw-redirect" title="Beta software">beta</a> in September 1995,
the name was changed to JavaScript for the official release in December.<sup id="cite_ref-origin_6-4"
class="reference"><a href="#cite_note-origin-6">[6]</a></sup><sup id="cite_ref-press_release_1-1"
class="reference"><a href="#cite_note-press_release-1">[1]</a></sup><sup id="cite_ref-
techvision_16-0" class="reference"><a href="#cite_note-techvision-16">[16]</a></sup>

</p><p>The choice of the JavaScript name has caused confusion, implying that it is directly related to
Java. At the time, the <a href="/wiki/Dot-com_bubble" title="Dot-com bubble">dot-com boom</a>
had begun and Java was a popular new language, so Eich considered the JavaScript name a
marketing ploy by Netscape.<sup id="cite_ref-EichVideo_14-1" class="reference"><a
href="#cite_note-EichVideo-14">[14]</a></sup>

</p>

<h3><span class="mw-headline" id="Adoption_by_Microsoft">Adoption by Microsoft</span></h3>

<p><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> debuted <a


href="/wiki/Internet_Explorer" title="Internet Explorer">Internet Explorer</a> in 1995, leading to a
<a href="/wiki/Browser_war" class="mw-redirect" title="Browser war">browser war</a> with
Netscape. On the JavaScript front, Microsoft created its own <a
href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">interpreter</a> called <a
href="/wiki/JScript" title="JScript">JScript</a>.<sup id="cite_ref-sjsch5_17-0" class="reference"><a
href="#cite_note-sjsch5-17">[17]</a></sup>

</p><p>Microsoft first released JScript in 1996, alongside initial support for <a href="/wiki/CSS"
title="CSS">CSS</a> and extensions to <a href="/wiki/HTML" title="HTML">HTML</a>. Each of these
<a href="/wiki/Implementation" title="Implementation">implementations</a> was noticeably
different from their counterparts in <a href="/wiki/Netscape_Navigator" title="Netscape
Navigator">Netscape Navigator</a>.<sup id="cite_ref-O'Reilly-2001_18-0" class="reference"><a
href="#cite_note-O'Reilly-2001-18">[18]</a></sup><sup id="cite_ref-19" class="reference"><a
href="#cite_note-19">[19]</a></sup> These differences made it difficult for developers to make
their websites work well in both browsers, leading to widespread use of "best viewed in Netscape"
and "best viewed in Internet Explorer" logos for several years.<sup id="cite_ref-O'Reilly-2001_18-1"
class="reference"><a href="#cite_note-O'Reilly-2001-18">[18]</a></sup><sup id="cite_ref-20"
class="reference"><a href="#cite_note-20">[20]</a></sup>

</p>

<h3><span class="mw-headline" id="The_rise_of_JScript">The rise of JScript</span></h3>

<style data-mw-deduplicate="TemplateStyles:r1224211176">.mw-parser-
output .quotebox{background-color:#F9F9F9;border:1px solid #aaa;box-sizing:border-
box;padding:10px;font-size:88%;max-width:100%}.mw-parser-
output .[Link]{margin:.5em 1.4em .8em 0}.mw-parser-
output .[Link]{margin:.5em 0 .8em 1.4em}.mw-parser-
output .[Link]{overflow:hidden;position:relative;margin:.5em auto .8em auto}.mw-
parser-output .[Link] span,.mw-parser-output .[Link] span{font-
style:inherit}.mw-parser-output .quotebox>blockquote{margin:0;padding:0;border-left:0;font-
family:inherit;font-size:inherit}.mw-parser-output .quotebox-title{text-align:center;font-
size:110%;font-weight:bold}.mw-parser-output .quotebox-quote>:first-child{margin-top:0}.mw-
parser-output .quotebox-quote:last-child>:last-child{margin-bottom:0}.mw-parser-output .quotebox-
[Link]:before{font-family:"Times New Roman",serif;font-weight:bold;font-
size:large;color:gray;content:" “ ";vertical-align:-45%;line-height:0}.mw-parser-output .quotebox-
[Link]:after{font-family:"Times New Roman",serif;font-weight:bold;font-
size:large;color:gray;content:" ” ";line-height:0}.mw-parser-output .quotebox .left-aligned{text-
align:left}.mw-parser-output .quotebox .right-aligned{text-align:right}.mw-parser-
output .quotebox .center-aligned{text-align:center}.mw-parser-output .quotebox .quote-title,.mw-
parser-output .quotebox .quotebox-quote{display:block}.mw-parser-output .quotebox
cite{display:block;font-style:normal}@media screen and (max-width:640px){.mw-parser-
output .quotebox{width:100%!important;margin:0 0
.8em!important;float:none!important}}</style><div class="quotebox pullquote floatright"
style="width:30%; ;">

<blockquote class="quotebox-quote left-aligned" style="">

<p><a href="/wiki/Brendan_Eich" title="Brendan Eich">Brendan Eich</a> later said of this period:


"It's still kind of a <a href="/wiki/Sidekick" title="Sidekick">sidekick</a> language. It's considered
slow or annoying. People do <a href="/wiki/Pop-up_ad" title="Pop-up ad">pop-ups</a> or those
scrolling messages in the old <a href="/wiki/Status_bar" title="Status bar">status bar</a> at the
bottom of your old <a href="/wiki/Web_browser" title="Web browser">browser</a>."<sup
id="cite_ref-EichVideo_14-2" class="reference"><a href="#cite_note-EichVideo-14">[14]</a></sup>

</p>

</blockquote>

</div>
<p>In November 1996, <a href="/wiki/Netscape" title="Netscape">Netscape</a> submitted
JavaScript to <a href="/wiki/Ecma_International" title="Ecma International">Ecma International</a>,
as the starting point for a standard specification that all browser vendors could conform to. This led
to the official release of the first <a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a>
language specification in June 1997.

</p><p>The standards process continued for a few years, with the release of ECMAScript 2 in June
1998 and ECMAScript 3 in December 1999. Work on ECMAScript 4 began in 2000.<sup id="cite_ref-
sjsch5_17-1" class="reference"><a href="#cite_note-sjsch5-17">[17]</a></sup>

</p><p>However, the effort to fully standardize the language was undermined by <a
href="/wiki/Microsoft" title="Microsoft">Microsoft</a> gaining an increasingly dominant position in
the browser market. By the early 2000s, <a href="/wiki/Internet_Explorer" title="Internet
Explorer">Internet Explorer</a>'s market share reached 95%.<sup id="cite_ref-
searchenginejournal.com_21-0" class="reference"><a href="#cite_note-[Link]-
21">[21]</a></sup> This meant that <a href="/wiki/JScript" title="JScript">JScript</a> became the
de facto standard for <a href="/wiki/Client-side_scripting" class="mw-redirect" title="Client-side
scripting">client-side scripting</a> on the Web.

</p><p>Microsoft initially participated in the standards process and implemented some proposals in
its JScript language, but eventually it stopped collaborating on ECMA work. Thus ECMAScript 4 was
mothballed.

</p>

<h3><span class="mw-headline" id="Growth_and_standardization">Growth and


standardization</span></h3>

<p>During the period of <a href="/wiki/Internet_Explorer" title="Internet Explorer">Internet


Explorer</a> dominance in the early 2000s, client-side scripting was stagnant. This started to change
in 2004, when the successor of Netscape, <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a>,
released the <a href="/wiki/Firefox" title="Firefox">Firefox</a> browser. Firefox was well received by
many, taking significant market share from Internet Explorer.<sup id="cite_ref-22"
class="reference"><a href="#cite_note-22">[22]</a></sup>

</p><p>In 2005, Mozilla joined ECMA International, and work started on the <a
href="/wiki/ECMAScript_for_XML" title="ECMAScript for XML">ECMAScript for XML</a> (E4X)
standard. This led to Mozilla working jointly with <a href="/wiki/Macromedia"
title="Macromedia">Macromedia</a> (later acquired by <a href="/wiki/Adobe_Systems" class="mw-
redirect" title="Adobe Systems">Adobe Systems</a>), who were implementing E4X in their
ActionScript 3 language, which was based on an ECMAScript 4 draft. The goal became standardizing
ActionScript 3 as the new ECMAScript 4. To this end, Adobe Systems released the <a
href="/wiki/Tamarin_(software)" title="Tamarin (software)">Tamarin</a> implementation as an <a
href="/wiki/Open-source_model" class="mw-redirect" title="Open-source model">open source</a>
project. However, Tamarin and ActionScript 3 were too different from established client-side
scripting, and without cooperation from <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a>,
ECMAScript 4 never reached fruition.

</p><p>Meanwhile, very important developments were occurring in open-source communities not


affiliated with ECMA work. In 2005, <a href="/wiki/Jesse_James_Garrett" title="Jesse James
Garrett">Jesse James Garrett</a> released a white paper in which he coined the term <a
href="/wiki/Ajax_(programming)" title="Ajax (programming)">Ajax</a> and described a set of
technologies, of which JavaScript was the backbone, to create <a href="/wiki/Web_application"
title="Web application">web applications</a> where data can be loaded in the background, avoiding
the need for full page reloads. This sparked a renaissance period of JavaScript, spearheaded by open-
source libraries and the communities that formed around them. Many new libraries were created,
including <a href="/wiki/JQuery" title="JQuery">jQuery</a>, <a
href="/wiki/Prototype_JavaScript_Framework" title="Prototype JavaScript
Framework">Prototype</a>, <a href="/wiki/Dojo_Toolkit" title="Dojo Toolkit">Dojo Toolkit</a>, and
<a href="/wiki/MooTools" title="MooTools">MooTools</a>.

</p><p><a href="/wiki/Google" title="Google">Google</a> debuted its <a


href="/wiki/Google_Chrome" title="Google Chrome">Chrome</a> browser in 2008, with the <a
href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8</a> JavaScript engine that
was faster than its competition.<sup id="cite_ref-23" class="reference"><a href="#cite_note-
23">[23]</a></sup><sup id="cite_ref-24" class="reference"><a
href="#cite_note-24">[24]</a></sup> The key innovation was <a href="/wiki/Just-in-
time_compilation" title="Just-in-time compilation">just-in-time compilation</a> (JIT),<sup
id="cite_ref-25" class="reference"><a href="#cite_note-25">[25]</a></sup> so other browser
vendors needed to overhaul their engines for JIT.<sup id="cite_ref-26" class="reference"><a
href="#cite_note-26">[26]</a></sup>

</p><p>In July 2008, these disparate parties came together for a conference in <a href="/wiki/Oslo"
title="Oslo">Oslo</a>. This led to the eventual agreement in early 2009 to combine all relevant work
and drive the language forward. The result was the ECMAScript 5 standard, released in December
2009.

</p>

<h3><span class="mw-headline" id="Reaching_maturity">Reaching maturity</span></h3>

<p>Ambitious work on the language continued for several years, culminating in an extensive
collection of additions and refinements being formalized with the publication of <a
href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a> 6 in 2015.<sup id="cite_ref-27"
class="reference"><a href="#cite_note-27">[27]</a></sup>

</p><p>The creation of <a href="/wiki/[Link]" title="[Link]">[Link]</a> in 2009 by <a


href="/wiki/Ryan_Dahl" title="Ryan Dahl">Ryan Dahl</a> sparked a significant increase in the usage
of JavaScript outside of web browsers. Node combines the <a href="/wiki/V8_(JavaScript_engine)"
title="V8 (JavaScript engine)">V8</a> engine, an <a href="/wiki/Event_loop" title="Event
loop">event loop</a>, and <a href="/wiki/Input/output" title="Input/output">I/O</a> <a
href="/wiki/Application_programming_interface" class="mw-redirect" title="Application
programming interface">APIs</a>, thereby providing a stand-alone JavaScript runtime system.<sup
id="cite_ref-28" class="reference"><a href="#cite_note-28">[28]</a></sup><sup id="cite_ref-b3_29-
0" class="reference"><a href="#cite_note-b3-29">[29]</a></sup> As of 2018, Node had been used
by millions of developers,<sup id="cite_ref-30" class="reference"><a
href="#cite_note-30">[30]</a></sup> and <a href="/wiki/Npm_(software)" class="mw-redirect"
title="Npm (software)">npm</a> had the most modules of any <a href="/wiki/Package_manager"
title="Package manager">package manager</a> in the world.<sup id="cite_ref-31"
class="reference"><a href="#cite_note-31">[31]</a></sup>
</p><p>The ECMAScript draft specification is currently maintained openly on <a href="/wiki/GitHub"
title="GitHub">GitHub</a>,<sup id="cite_ref-branscombe_32-0" class="reference"><a
href="#cite_note-branscombe-32">[32]</a></sup> and editions are produced via regular annual
snapshots.<sup id="cite_ref-branscombe_32-1" class="reference"><a href="#cite_note-branscombe-
32">[32]</a></sup> Potential revisions to the language are vetted through a comprehensive
proposal process.<sup id="cite_ref-33" class="reference"><a
href="#cite_note-33">[33]</a></sup><sup id="cite_ref-34" class="reference"><a href="#cite_note-
34">[34]</a></sup> Now, instead of edition numbers, developers check the status of upcoming
features individually.<sup id="cite_ref-branscombe_32-2" class="reference"><a href="#cite_note-
branscombe-32">[32]</a></sup>

</p><p>The current JavaScript ecosystem has many <a href="/wiki/List_of_JavaScript_libraries"


title="List of JavaScript libraries">libraries</a> and <a href="/wiki/Web_framework" title="Web
framework">frameworks</a>, established programming practices, and substantial usage of
JavaScript outside of web browsers. Plus, with the rise of <a href="/wiki/Single-page_application"
title="Single-page application">single-page applications</a> and other JavaScript-heavy websites,
several <a href="/wiki/Source-to-source_compiler" title="Source-to-source
compiler">transpilers</a> have been created to aid the development process.<sup id="cite_ref-
transpilers_35-0" class="reference"><a href="#cite_note-transpilers-35">[35]</a></sup>

</p>

<h2><span class="mw-headline" id="Trademark">Trademark</span></h2>

<p>"JavaScript" is a <a href="/wiki/Trademark" title="Trademark">trademark</a> of <a


href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a> in the United
States.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36">[36]</a></sup><sup
id="cite_ref-37" class="reference"><a href="#cite_note-37">[37]</a></sup> The trademark was
originally issued to <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun
Microsystems</a> on 6 May 1997, and was transferred to Oracle when they acquired Sun in
2009.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38">[38]</a></sup>

</p>

<h2><span class="mw-headline" id="Website_client-side_usage">Website client-side


usage</span></h2>

<p>JavaScript is the dominant <a href="/wiki/Client-side" class="mw-redirect" title="Client-


side">client-side</a> <a href="/wiki/Scripting_language" title="Scripting language">scripting
language</a> of the Web, with 99% of all <a href="/wiki/Website" title="Website">websites</a>
using it for this purpose.<sup id="cite_ref-deployedstats_10-1" class="reference"><a
href="#cite_note-deployedstats-10">[10]</a></sup> Scripts are embedded in or included from <a
href="/wiki/HTML" title="HTML">HTML</a> documents and interact with the <a
href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a>.

</p><p>All major <a href="/wiki/Web_browser" title="Web browser">web browsers</a> have a


built-in <a href="/wiki/JavaScript_engine" title="JavaScript engine">JavaScript engine</a> that
executes the <a href="/wiki/Source_code" title="Source code">code</a> on the user's device.

</p>
<h3><span class="mw-headline" id="Examples_of_scripted_behavior">Examples of scripted
behavior</span></h3>

<ul><li>Loading new <a href="/wiki/Web_page" title="Web page">web page</a> content without


reloading the page, via <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">Ajax</a> or
a <a href="/wiki/WebSocket" title="WebSocket">WebSocket</a>. For example, <a
href="/wiki/User_(computing)" title="User (computing)">users</a> of <a href="/wiki/Social_media"
title="Social media">social media</a> can send and receive messages without leaving the current
page.</li>

<li>Web page animations, such as fading objects in and out, resizing, and moving them.</li>

<li>Playing <a href="/wiki/Browser_game" title="Browser game">browser games</a>.</li>

<li>Controlling the <a href="/wiki/Media_player_software" title="Media player


software">playback</a> of <a href="/wiki/Streaming_media" title="Streaming media">streaming
media</a>.</li>

<li>Generating <a href="/wiki/Pop-up_ad" title="Pop-up ad">pop-up ads</a> or alert boxes.</li>

<li><a href="/wiki/Data_validation" title="Data validation">Validating</a> input values of a <a


href="/wiki/Form_(HTML)" class="mw-redirect" title="Form (HTML)">web form</a> before the data
is sent to a <a href="/wiki/Web_server" title="Web server">web server</a>.</li>

<li>Logging data about the user's behavior then sending it to a server. The website owner can use
this data for <a href="/wiki/Web_analytics" title="Web analytics">analytics</a>, <a
href="/wiki/Ad_tracking" title="Ad tracking">ad tracking</a>, and <a href="/wiki/Personalization"
title="Personalization">personalization</a>.</li>

<li>Redirecting a user to another page.</li>

<li>Storing and retrieving data on the user's device, via the <a href="/wiki/Web_storage" title="Web
storage">storage</a> or <a href="/wiki/Indexed_Database_API" title="Indexed Database
API">IndexedDB</a> standards.</li></ul>

<h3><span class="mw-headline" id="Libraries_and_frameworks">Libraries and


frameworks</span></h3>

<p>Over 80% of websites use a third-party JavaScript <a href="/wiki/Library_(computing)"


title="Library (computing)">library</a> or <a href="/wiki/Web_framework" title="Web
framework">web framework</a> as part of their client-side scripting.<sup id="cite_ref-lib_usage_39-
0" class="reference"><a href="#cite_note-lib_usage-39">[39]</a></sup>

</p><p><a href="/wiki/JQuery" title="JQuery">jQuery</a> is by far the most-used.<sup id="cite_ref-


lib_usage_39-1" class="reference"><a href="#cite_note-lib_usage-39">[39]</a></sup> Other
notable ones include <a href="/wiki/Angular_(web_framework)" title="Angular (web
framework)">Angular</a>, <a href="/wiki/Bootstrap_(front-end_framework)" title="Bootstrap
(front-end framework)">Bootstrap</a>, <a href="/wiki/Lodash" title="Lodash">Lodash</a>, <a
href="/wiki/Modernizr" title="Modernizr">Modernizr</a>, <a href="/wiki/React_(software)"
class="mw-redirect" title="React (software)">React</a>, <a href="/wiki/[Link]"
title="[Link]">Underscore</a>, and <a href="/wiki/[Link]" title="[Link]">Vue</a>.<sup
id="cite_ref-lib_usage_39-2" class="reference"><a href="#cite_note-lib_usage-39">[39]</a></sup>
Multiple options can be used in conjunction, such as jQuery and Bootstrap.<sup id="cite_ref-40"
class="reference"><a href="#cite_note-40">[40]</a></sup>

</p><p>However, the term "Vanilla JS" was coined for websites not using any libraries or frameworks
at all, instead relying entirely on standard JavaScript functionality.<sup id="cite_ref-41"
class="reference"><a href="#cite_note-41">[41]</a></sup>

</p>

<h2><span class="mw-headline" id="Other_usage">Other usage<span class="anchor" id="Server-


side_JavaScript"></span><span class="anchor"
id="Uses_outside_web_pages"></span></span></h2>

<p>The use of JavaScript has expanded beyond its <a href="/wiki/Web_browser" title="Web
browser">web browser</a> roots. <a href="/wiki/JavaScript_engine" title="JavaScript
engine">JavaScript engines</a> are now embedded in a variety of other software systems, both for
<a href="/wiki/Server-side" class="mw-redirect" title="Server-side">server-side</a> website
deployments and non-browser <a href="/wiki/Application_software" title="Application
software">applications</a>.

</p><p>Initial attempts at promoting server-side JavaScript usage were <a


href="/wiki/Netscape_Enterprise_Server" class="mw-redirect" title="Netscape Enterprise
Server">Netscape Enterprise Server</a> and <a href="/wiki/Microsoft"
title="Microsoft">Microsoft</a>'s <a href="/wiki/Internet_Information_Services" title="Internet
Information Services">Internet Information Services</a>,<sup id="cite_ref-42" class="reference"><a
href="#cite_note-42">[42]</a></sup><sup id="cite_ref-43" class="reference"><a href="#cite_note-
43">[43]</a></sup> but they were small niches.<sup id="cite_ref-2009server_44-0"
class="reference"><a href="#cite_note-2009server-44">[44]</a></sup> Server-side usage eventually
started to grow in the late 2000s, with the creation of <a href="/wiki/[Link]"
title="[Link]">[Link]</a> and <a href="/wiki/List_of_server-side_JavaScript_implementations"
title="List of server-side JavaScript implementations">other approaches</a>.<sup id="cite_ref-
2009server_44-1" class="reference"><a href="#cite_note-2009server-44">[44]</a></sup>

</p><p><a href="/wiki/Electron_(software_framework)" title="Electron (software


framework)">Electron</a>, <a href="/wiki/Apache_Cordova" title="Apache Cordova">Cordova</a>,
<a href="/wiki/React_Native" title="React Native">React Native</a>, and other <a
href="/wiki/Application_framework" title="Application framework">application frameworks</a>
have been used to create many applications with behavior implemented in JavaScript. Other non-
browser applications include <a href="/wiki/Adobe_Acrobat" title="Adobe Acrobat">Adobe
Acrobat</a> support for scripting <a href="/wiki/PDF" title="PDF">PDF</a> documents<sup
id="cite_ref-45" class="reference"><a href="#cite_note-45">[45]</a></sup> and <a
href="/wiki/GNOME_Shell" title="GNOME Shell">GNOME Shell</a> extensions written in
JavaScript.<sup id="cite_ref-46" class="reference"><a href="#cite_note-46">[46]</a></sup>

</p><p>JavaScript has recently begun to appear in some <a href="/wiki/Embedded_system"


title="Embedded system">embedded systems</a>, usually by leveraging [Link].<sup id="cite_ref-
47" class="reference"><a href="#cite_note-47">[47]</a></sup><sup id="cite_ref-48"
class="reference"><a href="#cite_note-48">[48]</a></sup><sup id="cite_ref-49"
class="reference"><a href="#cite_note-49">[49]</a></sup>

</p>
<h2><span class="mw-headline" id="Execution">Execution</span></h2>

<h3><span class="mw-headline" id="JavaScript_engine">JavaScript engine</span></h3>

<div class="excerpt-block"><style data-mw-deduplicate="TemplateStyles:r1066933788">.mw-parser-


output .excerpt-hat .mw-editsection-like{font-style:normal}</style><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1033289096"><div role="note" class="hatnote
navigation-not-searchable dablink excerpt-hat selfref">This section is an excerpt from <a
href="/wiki/JavaScript_engine" title="JavaScript engine">JavaScript engine</a>.<span class="mw-
editsection-like plainlinks"><span class="mw-editsection-bracket">[</span><a class="external text"
href="[Link]
a><span class="mw-editsection-bracket">]</span></span></div><div class="excerpt">

<p>A <a href="/wiki/JavaScript_engine" title="JavaScript engine">JavaScript engine</a> is a <a


href="/wiki/Software_component" title="Software component">software component</a> that
executes JavaScript <a href="/wiki/Source_code" title="Source code">code</a>. The first JavaScript
<a href="/wiki/Software_engine" title="Software engine">engines</a> were mere <a
href="/wiki/Interpreter_(computing)" title="Interpreter (computing)">interpreters</a>, but all
relevant modern engines use <a href="/wiki/Just-in-time_compilation" title="Just-in-time
compilation">just-in-time compilation</a> for improved performance.<sup id="cite_ref-50"
class="reference"><a href="#cite_note-50">[50]</a></sup>

</p><p>JavaScript engines are typically developed by <a href="/wiki/Web_browser" title="Web


browser">web browser</a> vendors, and every major browser has one. In a browser, the JavaScript
engine runs in concert with the <a href="/wiki/Browser_engine" title="Browser engine">rendering
engine</a> via the <a href="/wiki/Document_Object_Model" title="Document Object
Model">Document Object Model</a> and <a href="/wiki/Web_IDL" title="Web IDL">Web IDL</a>
bindings.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51">[51]</a></sup> However,
the use of JavaScript engines is not limited to browsers; for example, the <a
href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8 engine</a> is a core
component of the <a href="/wiki/[Link]" title="[Link]">[Link]</a> <a
href="/wiki/Runtime_system" title="Runtime system">runtime system</a>.<sup id="cite_ref-
JavaScript_engine_v8_doc_52-0" class="reference"><a href="#cite_note-JavaScript_engine_v8_doc-
52">[52]</a></sup>

</p>

Since <a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a> is the standardized


specification of JavaScript, ECMAScript engine is another name for these <a
href="/wiki/Programming_language_implementation" title="Programming language
implementation">implementations</a>. With the advent of <a href="/wiki/WebAssembly"
title="WebAssembly">WebAssembly</a>, some engines can also execute this code in the same <a
href="/wiki/Sandbox_(computer_security)" title="Sandbox (computer security)">sandbox</a> as
regular JavaScript code.<sup id="cite_ref-JavaScript_engine_Wasm_53-0" class="reference"><a
href="#cite_note-JavaScript_engine_Wasm-53">[53]</a></sup><sup id="cite_ref-
JavaScript_engine_v8_doc_52-1" class="reference"><a href="#cite_note-JavaScript_engine_v8_doc-
52">[52]</a></sup></div></div>

<h3><span class="mw-headline" id="Runtime_system">Runtime system</span></h3>


<p>The JavaScript engine must be embedded within a <a href="/wiki/Runtime_system"
title="Runtime system">runtime system</a> (either a <a href="/wiki/Web_browser" title="Web
browser">web browser</a> or a standalone system) to provide objects and methods by which
scripts can interact with the larger environment. This includes the necessary APIs for <a
href="/wiki/Input/output" title="Input/output">I/O</a>, such as <a href="/wiki/Computer_network"
title="Computer network">networking</a>, <a href="/wiki/Data_storage" title="Data
storage">storage</a>, or <a href="/wiki/Computer_graphics" title="Computer
graphics">graphics</a> facilities. The runtime also provides the ability to import scripts.

</p><p>JavaScript is a single-<a href="/wiki/Thread_(computing)" title="Thread


(computing)">threaded</a> language. The runtime processes <a
href="/wiki/Message_(computer_science)" class="mw-redirect" title="Message (computer
science)">messages</a> from a <a href="/wiki/Queue_(abstract_data_type)" title="Queue (abstract
data type)">queue</a> one at a time, and it calls a <a href="/wiki/Subroutine" class="mw-redirect"
title="Subroutine">function</a> associated with each new message, creating a <a
href="/wiki/Call_stack" title="Call stack">call stack</a> frame with the function's <a
href="/wiki/Parameter_(computer_programming)" title="Parameter (computer
programming)">arguments</a> and <a href="/wiki/Local_variable" title="Local variable">local
variables</a>. The call stack shrinks and grows based on the function's needs. When the call stack is
empty upon function completion, JavaScript proceeds to the next message in the queue. This is
called the <a href="/wiki/Event_loop" title="Event loop">event loop</a>, described as "run to
completion" because each message is fully processed before the next message is considered.
However, the language's <a href="/wiki/Concurrency_(computer_science)" title="Concurrency
(computer science)">concurrency model</a> describes the event loop as <a
href="/wiki/Asynchronous_I/O" title="Asynchronous I/O">non-blocking</a>: program I/O is
performed using <a href="/wiki/Event_(computing)" title="Event (computing)">events</a> and <a
href="/wiki/Callback_(computer_programming)" title="Callback (computer programming)">callback
functions</a>. This means, for example, that JavaScript can process a mouse click while waiting for a
database query to return information.<sup id="cite_ref-54" class="reference"><a href="#cite_note-
54">[54]</a></sup>

</p><p>The notable standalone runtimes are <a href="/wiki/[Link]" title="[Link]">[Link]</a>,


<a href="/wiki/Deno_(software)" title="Deno (software)">Deno</a>, and <a
href="/wiki/Bun_(software)" title="Bun (software)">Bun</a>.

</p>

<h2><span class="mw-headline" id="Features">Features</span></h2>

<p>The following features are common to all conforming ECMAScript implementations unless
explicitly specified otherwise.

</p>

<h3><span class="mw-headline" id="Imperative_and_structured">Imperative and


structured</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Structured_programming" title="Structured programming">Structured
programming</a></div>
<p>JavaScript supports much of the <a href="/wiki/Structured_programming" title="Structured
programming">structured programming</a> syntax from <a href="/wiki/C_(computer_language)"
class="mw-redirect" title="C (computer language)">C</a> (e.g., <code>if</code> statements,
<code>while</code> loops, <code>switch</code> statements, <code>do while</code> loops, etc.).
One partial exception is <a href="/wiki/Scope_(computer_science)" title="Scope (computer
science)">scoping</a>: originally JavaScript only had <a href="/wiki/Function_scoping" class="mw-
redirect" title="Function scoping">function scoping</a> with <code>var</code>; <a
href="/wiki/Block_scoping" class="mw-redirect" title="Block scoping">block scoping</a> was added
in ECMAScript 2015 with the keywords <code>let</code> and <code><a
href="/wiki/Const_(computer_programming)" title="Const (computer
programming)">const</a></code>. Like C, JavaScript makes a distinction between <a
href="/wiki/Expression_(computer_science)" title="Expression (computer science)">expressions</a>
and <a href="/wiki/Statement_(computer_science)" title="Statement (computer
science)">statements</a>. One syntactic difference from C is <a href="/wiki/Defensive_semicolon"
class="mw-redirect" title="Defensive semicolon">automatic semicolon insertion</a>, which allow
semicolons (which terminate statements) to be omitted.<sup id="cite_ref-Flanagan2006_55-0"
class="reference"><a href="#cite_note-Flanagan2006-55">[55]</a></sup>

</p>

<h3><span class="mw-headline" id="Weakly_typed">Weakly typed</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Weakly_typed"
class="mw-redirect" title="Weakly typed">Weakly typed</a></div>

<p>JavaScript is <a href="/wiki/Strong_and_weak_typing" title="Strong and weak typing">weakly


typed</a>, which means certain types are implicitly cast depending on the operation used.<sup
id="cite_ref-casting_rules_56-0" class="reference"><a
href="#cite_note-casting_rules-56">[56]</a></sup>

</p>

<ul><li>The binary <code>+</code> operator casts both operands to a string unless both operands
are numbers. This is because the addition operator doubles as a concatenation operator</li>

<li>The binary <code>-</code> operator always casts both operands to a number</li>

<li>Both unary operators (<code>+</code>, <code>-</code>) always cast the operand to a


number</li></ul>

<p>Values are cast to strings like the following:<sup id="cite_ref-casting_rules_56-1"


class="reference"><a href="#cite_note-casting_rules-56">[56]</a></sup>

</p>

<ul><li>Strings are left as-is</li>

<li>Numbers are converted to their string representation</li>

<li>Arrays have their elements cast to strings after which they are joined by commas
(<code>,</code>)</li>
<li>Other objects are converted to the string <code>[object Object]</code> where
<code>Object</code> is the name of the constructor of the object</li></ul>

<p>Values are cast to numbers by casting to strings and then casting the strings to numbers. These
processes can be modified by defining <code>toString</code> and <code>valueOf</code> functions
on the <a href="#Object-orientation_(prototype-based)">prototype</a> for string and number
casting respectively.

</p><p>JavaScript has received criticism for the way it implements these conversions as the
complexity of the rules can be mistaken for inconsistency.<sup id="cite_ref-57" class="reference"><a
href="#cite_note-57">[57]</a></sup><sup id="cite_ref-casting_rules_56-2" class="reference"><a
href="#cite_note-casting_rules-56">[56]</a></sup> For example, when adding a number to a string,
the number will be cast to a string before performing concatenation, but when subtracting a number
from a string, the string is cast to a number before performing subtraction.

</p>

<table class="wikitable">

<caption>JavaScript type conversions

</caption>

<tbody><tr>

<th>left operand

</th>

<th>operator

</th>

<th>right operand

</th>

<th>result

</th></tr>

<tr>

<td><code>[]</code> (empty array)

</td>

<td><code>+</code>

</td>

<td><code>[]</code> (empty array)

</td>

<td><code>""</code> (empty string)

</td></tr>
<tr>

<td><code>[]</code> (empty array)

</td>

<td><code>+</code>

</td>

<td><code>{}</code> (empty object)

</td>

<td><code>"[object Object]"</code> (string)

</td></tr>

<tr>

<td><code>false</code> (boolean)

</td>

<td><code>+</code>

</td>

<td><code>[]</code> (empty array)

</td>

<td><code>"false"</code> (string)

</td></tr>

<tr>

<td><code>"123"</code>(string)

</td>

<td><code>+</code>

</td>

<td><code>1</code> (number)

</td>

<td><code>"1231"</code> (string)

</td></tr>

<tr>

<td><code>"123"</code> (string)

</td>

<td><code>-</code>
</td>

<td><code>1</code> (number)

</td>

<td><code>122</code> (number)

</td></tr>

<tr>

<td><code>"123"</code> (string)

</td>

<td><code>-</code>

</td>

<td><code>"abc"</code> (string)

</td>

<td><code><a href="/wiki/NaN" title="NaN">NaN</a></code> (number)

</td></tr></tbody></table>

<p>Often also mentioned is <code>{} + []</code> resulting in <code>0</code> (number). This is


misleading: the <code>{}</code> is interpreted as an empty code block instead of an empty object,
and the empty array is cast to a number by the remaining unary <code>+</code> operator. If the
expression is wrapped in parentheses - <code>({} + [])</code> - the curly brackets are interpreted as
an empty object and the result of the expression is <code>"[object Object]"</code> as
expected.<sup id="cite_ref-casting_rules_56-3" class="reference"><a href="#cite_note-
casting_rules-56">[56]</a></sup>

</p>

<h3><span class="mw-headline" id="Dynamic">Dynamic</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Dynamic_Programming" class="mw-redirect" title="Dynamic Programming">Dynamic
Programming</a></div>

<h4><span class="mw-headline" id="Typing">Typing</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Dynamic_typing" class="mw-redirect" title="Dynamic typing">Dynamic typing</a></div>

<p>JavaScript is <a href="/wiki/Dynamic_typing" class="mw-redirect" title="Dynamic


typing">dynamically typed</a> like most other <a href="/wiki/Scripting_language" title="Scripting
language">scripting languages</a>. A <a href="/wiki/Type_system" title="Type system">type</a> is
associated with a <a href="/wiki/Value_(computer_science)" title="Value (computer
science)">value</a> rather than an expression. For example, a <a
href="/wiki/Variable_(programming)" class="mw-redirect" title="Variable
(programming)">variable</a> initially bound to a number may be reassigned to a <a
href="/wiki/String_(computer_science)" title="String (computer science)">string</a>.<sup
id="cite_ref-58" class="reference"><a href="#cite_note-58">[58]</a></sup> JavaScript supports
various ways to test the type of objects, including <a href="/wiki/Duck_typing" title="Duck
typing">duck typing</a>.<sup id="cite_ref-FOOTNOTEFlanagan2006176–178_59-0"
class="reference"><a href="#cite_note-FOOTNOTEFlanagan2006176–178-59">[59]</a></sup>

</p>

<h4><span class="mw-headline" id="Run-time_evaluation">Run-time evaluation</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Eval"
title="Eval">eval</a></div>

<p>JavaScript includes an <code><a href="/wiki/Eval" title="Eval">eval</a></code> function that can


execute statements provided as strings at run-time.

</p>

<h3><span id="Object-orientation_.28prototype-based.29"></span><span class="mw-headline"


id="Object-orientation_(prototype-based)">Object-orientation (prototype-based)</span></h3>

<p>Prototypal inheritance in JavaScript is described by <a href="/wiki/Douglas_Crockford"


title="Douglas Crockford">Douglas Crockford</a> as:

</p>

<style data-mw-deduplicate="TemplateStyles:r1211633275">.mw-parser-
output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-
output .templatequote .templatequotecite{line-height:1.5em;text-align:left;padding-
left:1.6em;margin-top:0}</style><blockquote class="templatequote"><p>You make prototype
objects, and then ... make new instances. Objects are mutable in JavaScript, so we can augment the
new instances, giving them new fields and methods. These can then act as prototypes for even
newer objects. We don't need classes to make lots of similar objects... Objects inherit from objects.
What could be more object oriented than that?<sup id="cite_ref-60" class="reference"><a
href="#cite_note-60">[60]</a></sup>

</p></blockquote>

<p>In JavaScript, an <a href="/wiki/Object_(computer_science)" title="Object (computer


science)">object</a> is an <a href="/wiki/Associative_array" title="Associative array">associative
array</a>, augmented with a prototype (see below); each key provides the name for an object <a
href="/wiki/Property_(programming)" title="Property (programming)">property</a>, and there are
two syntactical ways to specify such a name: dot notation (<code>obj.x&nbsp;=&nbsp;10</code>)
and bracket notation (<code>obj['x']&nbsp;=&nbsp;10</code>). A property may be added, rebound,
or deleted at run-time. Most <a href="/wiki/Property_(programming)" title="Property
(programming)">properties</a> of an object (and any property that belongs to an object's prototype
inheritance chain) can be enumerated using a <code>for...in</code> loop.

</p>

<h4><span class="mw-headline" id="Prototypes">Prototypes</span></h4>


<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div
role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Prototype-
based_programming" title="Prototype-based programming">Prototype-based
programming</a></div>

<p>JavaScript uses <a href="/wiki/Prototype-based_programming" title="Prototype-based


programming">prototypes</a> where many other object-oriented languages use <a
href="/wiki/Class_(computer_science)" class="mw-redirect" title="Class (computer
science)">classes</a> for <a href="/wiki/Inheritance_(object-oriented_programming)"
title="Inheritance (object-oriented programming)">inheritance</a>.<sup id="cite_ref-61"
class="reference"><a href="#cite_note-61">[61]</a></sup> It is possible to simulate many class-
based features with prototypes in JavaScript.<sup id="cite_ref-62" class="reference"><a
href="#cite_note-62">[62]</a></sup>

</p>

<h4><span class="mw-headline" id="Functions_as_object_constructors">Functions as object


constructors</span></h4>

<p>Functions double as object constructors, along with their typical role. Prefixing a function call
with <i>new</i> will create an instance of a prototype, inheriting properties and methods from the
constructor (including properties from the <code>Object</code> prototype).<sup id="cite_ref-63"
class="reference"><a href="#cite_note-63">[63]</a></sup> ECMAScript 5 offers the
<code>[Link]</code> method, allowing explicit creation of an instance without automatically
inheriting from the <code>Object</code> prototype (older environments can assign the prototype to
<code>null</code>).<sup id="cite_ref-64" class="reference"><a
href="#cite_note-64">[64]</a></sup> The constructor's <code>prototype</code> property
determines the object used for the new object's internal prototype. New methods can be added by
modifying the prototype of the function used as a constructor. JavaScript's built-in constructors, such
as <code>Array</code> or <code>Object</code>, also have prototypes that can be modified. While
it is possible to modify the <code>Object</code> prototype, it is generally considered bad practice
because most objects in JavaScript will inherit methods and properties from the
<code>Object</code> prototype, and they may not expect the prototype to be modified.<sup
id="cite_ref-65" class="reference"><a href="#cite_note-65">[65]</a></sup>

</p>

<h4><span class="mw-headline" id="Functions_as_methods">Functions as methods</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Method_(computer_science)" class="mw-redirect" title="Method (computer
science)">Method (computer science)</a></div>

<p>Unlike in many object-oriented languages, in JavaScript there is no distinction between a function


definition and a <a href="/wiki/Method_(computer_science)" class="mw-redirect" title="Method
(computer science)">method</a> definition. Rather, the distinction occurs during function calling.
When a function is called as a method of an object, the function's local <i>this</i> keyword is bound
to that object for that invocation.

</p>
<h3><span class="mw-headline" id="Functional">Functional</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Functional_programming" title="Functional programming">Functional
programming</a></div>

<p>JavaScript <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">functions</a> are


<a href="/wiki/First-class_function" title="First-class function">first-class</a>; a function is
considered to be an object.<sup id="cite_ref-66" class="reference"><a
href="#cite_note-66">[66]</a></sup> As such, a function may have properties and methods, such as
<code>.call()</code> and <code>.bind()</code>.<sup id="cite_ref-67" class="reference"><a
href="#cite_note-67">[67]</a></sup>

</p>

<h4><span class="mw-headline" id="Lexical_closure">Lexical closure</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Closure_(computer_programming)" title="Closure (computer programming)">Closure
(computer programming)</a></div>

<p>A <i>nested</i> function is a function defined within another function. It is created each time the
outer function is invoked.

</p><p>In addition, each nested function forms a <a href="/wiki/Closure_(computer_programming)"


title="Closure (computer programming)">lexical closure</a>: the <a
href="/wiki/Scope_(programming)#Lexical_scoping_vs._dynamic_scoping" class="mw-redirect"
title="Scope (programming)">lexical scope</a> of the outer function (including any constant, local
variable, or argument value) becomes part of the internal state of each inner function object, even
after execution of the outer function concludes.<sup id="cite_ref-FOOTNOTEFlanagan2006141_68-0"
class="reference"><a href="#cite_note-FOOTNOTEFlanagan2006141-68">[68]</a></sup>

</p>

<h4><span class="mw-headline" id="Anonymous_function">Anonymous function</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Anonymous_function" title="Anonymous function">Anonymous function</a></div>

<p>JavaScript also supports <a href="/wiki/Anonymous_function" title="Anonymous


function">anonymous functions</a>.

</p>

<h3><span class="mw-headline" id="Delegative">Delegative</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Delegation_(object-oriented_programming)" title="Delegation (object-oriented
programming)">Delegation (object-oriented programming)</a></div>
<p>JavaScript supports implicit and explicit <a href="/wiki/Delegation_(object-
oriented_programming)" title="Delegation (object-oriented programming)">delegation</a>.

</p>

<h4><span id="Functions_as_roles_.28Traits_and_Mixins.29"></span><span class="mw-headline"


id="Functions_as_roles_(Traits_and_Mixins)">Functions as roles (Traits and Mixins)</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/Role-
oriented_programming" title="Role-oriented programming">Role-oriented programming</a>, <a
href="/wiki/Traits_(computer_science)" class="mw-redirect" title="Traits (computer science)">Traits
(computer science)</a>, and <a href="/wiki/Mixin" title="Mixin">Mixin</a></div>

<p>JavaScript natively supports various function-based implementations of <a href="/wiki/Role-


oriented_programming" title="Role-oriented programming">Role</a><sup id="cite_ref-69"
class="reference"><a href="#cite_note-69">[69]</a></sup> patterns like <a
href="/wiki/Traits_(computer_science)" class="mw-redirect" title="Traits (computer
science)">Traits</a><sup id="cite_ref-70" class="reference"><a
href="#cite_note-70">[70]</a></sup><sup id="cite_ref-71" class="reference"><a href="#cite_note-
71">[71]</a></sup> and <a href="/wiki/Mixin" title="Mixin">Mixins</a>.<sup id="cite_ref-72"
class="reference"><a href="#cite_note-72">[72]</a></sup> Such a function defines additional
behavior by at least one method bound to the <code>this</code> keyword within its
<code>function</code> body. A Role then has to be delegated explicitly via <code>call</code> or
<code>apply</code> to objects that need to feature additional behavior that is not shared via the
prototype chain.

</p>

<h4><span class="mw-headline" id="Object_composition_and_inheritance">Object composition and


inheritance</span></h4>

<p>Whereas explicit function-based delegation does cover <a href="/wiki/Object_composition"


title="Object composition">composition</a> in JavaScript, implicit delegation already happens every
time the prototype chain is walked in order to, e.g., find a method that might be related to but is not
directly owned by an object. Once the method is found it gets called within this object's context.
Thus <a href="/wiki/Inheritance_(object-oriented_programming)" title="Inheritance (object-oriented
programming)">inheritance</a> in JavaScript is covered by a delegation automatism that is bound to
the prototype property of constructor functions.

</p>

<h3><span class="mw-headline" id="Miscellaneous">Miscellaneous</span></h3>

<h4><span class="mw-headline" id="Zero-based_numbering">Zero-based numbering</span></h4>

<p>JavaScript is a <a href="/wiki/Zero-based_numbering#Usage_in_programming_languages"


title="Zero-based numbering">zero-index</a> language.

</p>

<h4><span class="mw-headline" id="Variadic_functions">Variadic functions</span></h4>


<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div
role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Variadic_function" title="Variadic function">Variadic function</a></div>

<p>An indefinite number of parameters can be passed to a function. The function can access them
through <a href="/wiki/Formal_parameter" class="mw-redirect" title="Formal parameter">formal
parameters</a> and also through the local <code>arguments</code> object. <a
href="/wiki/Variadic_functions" class="mw-redirect" title="Variadic functions">Variadic
functions</a> can also be created by using the <code><a rel="nofollow" class="external text"
href="[Link]
Function/bind">bind</a></code> method.

</p>

<h4><span class="mw-headline" id="Array_and_object_literals">Array and object


literals</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main articles: <a
href="/wiki/Associative_arrays" class="mw-redirect" title="Associative arrays">Associative
arrays</a> and <a href="/wiki/Object_literal" class="mw-redirect" title="Object literal">Object
literal</a></div>

<p>Like in many scripting languages, arrays and objects (<a href="/wiki/Associative_arrays"


class="mw-redirect" title="Associative arrays">associative arrays</a> in other languages) can each be
created with a succinct shortcut syntax. In fact, these <a href="/wiki/Object_literal" class="mw-
redirect" title="Object literal">literals</a> form the basis of the <a href="/wiki/JSON"
title="JSON">JSON</a> data format.

</p>

<h4><span class="mw-headline" id="Regular_expressions">Regular expressions</span></h4>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Regular_expression" title="Regular expression">Regular expression</a></div>

<p>In a manner similar to <a href="/wiki/Perl" title="Perl">Perl</a>, JavaScript also supports <a
href="/wiki/Regular_expression" title="Regular expression">regular expressions</a>, which provide
a concise and powerful syntax for text manipulation that is more sophisticated than the built-in string
functions.<sup id="cite_ref-73" class="reference"><a href="#cite_note-73">[73]</a></sup>

</p>

<h4><span id="Promises_and_Async.2Fawait"></span><span class="mw-headline"


id="Promises_and_Async/await">Promises and Async/await</span></h4>

<p>JavaScript supports <a href="/wiki/Futures_and_promises" title="Futures and


promises">promises</a> and <a href="/wiki/Async/await" title="Async/await">Async/await</a> for
handling asynchronous operations.<sup class="noprint Inline-Template Template-Fact" style="white-
space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation
needed"><span title="This claim needs references to reliable sources. (August 2023)">citation
needed</span></a></i>]</sup>
</p>

<h5><span class="mw-headline" id="Promises">Promises</span></h5>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/Futures_and_promises" title="Futures and promises">Futures and promises</a></div>

<p>A built-in Promise object provides functionality for handling promises and associating handlers
with an asynchronous action's eventual result. Recently, the JavaScript specification introduced
combinator methods, which allow developers to combine multiple JavaScript promises and do
operations based on different scenarios. The methods introduced are: [Link], [Link],
[Link] and [Link].

</p>

<h5><span id="Async.2Fawait"></span><span class="mw-headline"


id="Async/await">Async/await</span></h5>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Async/await"
title="Async/await">Async/await</a></div>

<p>Async/await allows an asynchronous, non-blocking function to be structured in a way similar to


an ordinary synchronous function. Asynchronous, non-blocking code can be written, with minimal
overhead, structured similarly to traditional synchronous, blocking code.

</p>

<h3><span class="mw-headline" id="Vendor-specific_extensions">Vendor-specific


extensions</span></h3>

<p>Historically, some <a href="/wiki/JavaScript_engine" title="JavaScript engine">JavaScript


engines</a> supported these non-standard features:

</p>

<ul><li>conditional <code>catch</code> clauses (like Java)</li>

<li><a href="/wiki/List_comprehension" title="List comprehension">array comprehensions</a> and


generator expressions (like Python)</li>

<li>concise function expressions (<code>function(args) expr</code>; this experimental syntax


predated arrow functions)</li>

<li><a href="/wiki/ECMAScript_for_XML" title="ECMAScript for XML">ECMAScript for XML</a>


(E4X), an extension that adds native XML support to ECMAScript (unsupported in Firefox since
version 21<sup id="cite_ref-74" class="reference"><a
href="#cite_note-74">[74]</a></sup>)</li></ul>

<h2><span class="mw-headline" id="Syntax">Syntax</span></h2>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a
href="/wiki/JavaScript_syntax" title="JavaScript syntax">JavaScript syntax</a></div>
<h3><span class="mw-headline" id="Simple_examples">Simple examples</span></h3>

<p><a href="/wiki/Variable_(computer_science)" title="Variable (computer science)">Variables</a>


in JavaScript can be defined using either the <code>var</code>,<sup id="cite_ref-75"
class="reference"><a href="#cite_note-75">[75]</a></sup> <code>let</code><sup id="cite_ref-
moz_let_76-0" class="reference"><a href="#cite_note-moz_let-76">[76]</a></sup> or
<code>const</code><sup id="cite_ref-moz_const_77-0" class="reference"><a href="#cite_note-
moz_const-77">[77]</a></sup> keywords. Variables defined without keywords will be defined at the
global scope.

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="c1">// Declares a function-scoped variable named `x`,
and implicitly assigns the</span>

<span class="c1">// special value `undefined` to it. Variables without value are automatically</span>

<span class="c1">// set to undefined.</span>

<span class="c1">// var is generally considered bad practice and let and const are usually
preferred.</span>

<span class="kd">var</span><span class="w"> </span><span class="nx">x</span><span


class="p">;</span>

<span class="c1">// Variables can be manually set to `undefined` like so</span>

<span class="kd">let</span><span class="w"> </span><span class="nx">x2</span><span class="w">


</span><span class="o">=</span><span class="w"> </span><span
class="kc">undefined</span><span class="p">;</span>

<span class="c1">// Declares a block-scoped variable named `y`, and implicitly sets it to</span>

<span class="c1">// `undefined`. The `let` keyword was introduced in ECMAScript 2015.</span>

<span class="kd">let</span><span class="w"> </span><span class="nx">y</span><span


class="p">;</span>

<span class="c1">// Declares a block-scoped, un-reassignable variable named `z`, and sets it
to</span>

<span class="c1">// a string literal. The `const` keyword was also introduced in ECMAScript
2015,</span>

<span class="c1">// and must be explicitly assigned to.</span>

<span class="c1">// The keyword `const` means constant, hence the variable cannot be
reassigned</span>
<span class="c1">// as the value is `constant`.</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">z</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"this value
cannot be reassigned!"</span><span class="p">;</span>

<span class="c1">// Declares a global-scoped variable and assigns 3. This is generally


considered</span>

<span class="c1">// bad practice, and will not work if strict mode is on.</span>

<span class="nx">t</span><span class="w"> </span><span class="o">=</span><span class="w">


</span><span class="mf">3</span><span class="p">;</span>

<span class="c1">// Declares a variable named `myNumber`, and assigns a number literal (the
value</span>

<span class="c1">// `2`) to it.</span>

<span class="kd">let</span><span class="w"> </span><span class="nx">myNumber</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="mf">2</span><span class="p">;</span>

<span class="c1">// Reassigns `myNumber`, setting it to a string literal (the value `"foo"`).</span>

<span class="c1">// JavaScript is a dynamically-typed language, so this is legal.</span>

<span class="nx">myNumber</span><span class="w"> </span><span class="o">=</span><span


class="w"> </span><span class="s2">"foo"</span><span class="p">;</span>

</pre></div>

<p>Note the <a href="/wiki/Comment_(computer_programming)" title="Comment (computer


programming)">comments</a> in the examples above, all of which were preceded with two <a
href="/wiki/Slash_(punctuation)" title="Slash (punctuation)">forward slashes</a>.

</p><p>There is no built-in <a href="/wiki/Input/output" title="Input/output">Input/output</a>


functionality in JavaScript, instead it is provided by the run-time environment. The ECMAScript
specification in edition 5.1 mentions that "there are no provisions in this specification for input of
external data or output of computed results".<sup id="cite_ref-78" class="reference"><a
href="#cite_note-78">[78]</a></sup>

However, most runtime environments have a <code>console</code> object that can be used to print
output.<sup id="cite_ref-79" class="reference"><a href="#cite_note-79">[79]</a></sup> Here is a
minimalist <a href="/wiki/%22Hello,_World!%22_program" title="&quot;Hello, World!&quot;
program">"Hello, World!" program</a> in JavaScript in a runtime environment with a console object:

</p>
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"
dir="ltr"><pre><span></span><span class="nx">console</span><span class="p">.</span><span
class="nx">log</span><span class="p">(</span><span class="s2">"Hello, World!"</span><span
class="p">);</span>

</pre></div>

<p>In HTML documents, a program like this is required for an output:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="c1">// Text nodes can be made using the "write"
method.</span>

<span class="c1">// This is frowned upon, as it can overwrite the document if the document is fully
loaded.</span>

<span class="nb">document</span><span class="p">.</span><span class="nx">write</span><span


class="p">(</span><span class="s1">'foo'</span><span class="p">);</span>

<span class="c1">// Elements can be made too. First, they have to be created in the DOM.</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">myElem</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="nb">document</span><span class="p">.</span><span
class="nx">createElement</span><span class="p">(</span><span class="s1">'span'</span><span
class="p">);</span>

<span class="c1">// Attributes like classes and the id can be set as well</span>

<span class="nx">myElem</span><span class="p">.</span><span class="nx">classList</span><span


class="p">.</span><span class="nx">add</span><span class="p">(</span><span
class="s1">'foo'</span><span class="p">);</span>

<span class="nx">myElem</span><span class="p">.</span><span class="nx">id</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="s1">'bar'</span><span class="p">;</span>

<span class="c1">// After setting this, the tag will look like this: `&lt;span class="foo" id="bar" data-
attr="baz"&gt;&lt;/span&gt;`</span>

<span class="nx">myElem</span><span class="p">.</span><span


class="nx">setAttribute</span><span class="p">(</span><span class="s1">'data-attr'</span><span
class="p">,</span><span class="w"> </span><span class="s1">'baz'</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Which could also be written as
`[Link] = 'baz'`</span>
<span class="c1">// Finally append it as a child element to the &lt;body&gt; in the HTML</span>

<span class="nb">document</span><span class="p">.</span><span class="nx">body</span><span


class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span
class="nx">myElem</span><span class="p">);</span>

<span class="c1">// Elements can be imperatively grabbed with querySelector for one element, or
querySelectorAll for multiple elements that can be looped with forEach</span>

<span class="nb">document</span><span class="p">.</span><span


class="nx">querySelector</span><span class="p">(</span><span class="s1">'.class'</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Selects the first element with the
"class" class</span>

<span class="nb">document</span><span class="p">.</span><span


class="nx">querySelector</span><span class="p">(</span><span class="s1">'#id'</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Selects the first element with an
`id` of "id"</span>

<span class="nb">document</span><span class="p">.</span><span


class="nx">querySelector</span><span class="p">(</span><span
class="s1">'[data-other]'</span><span class="p">);</span><span class="w"> </span><span
class="c1">// Selects the first element with the "data-other" attribute</span>

<span class="nb">document</span><span class="p">.</span><span


class="nx">querySelectorAll</span><span class="p">(</span><span
class="s1">'.multiple'</span><span class="p">);</span><span class="w"> </span><span
class="c1">// Returns an Array-like NodeList of all elements with the "multiple" class</span>

</pre></div><p>A simple <a href="/wiki/Recursion_(computer_science)" title="Recursion (computer


science)">recursive</a> function to calculate the <a href="/wiki/Factorial"
title="Factorial">factorial</a> of a <a href="/wiki/Natural_number" title="Natural number">natural
number</a>:

</p><div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">function</span><span class="w"> </span><span
class="nx">factorial</span><span class="p">(</span><span class="nx">n</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="c1">// Checking the argument for legitimacy. Factorial is
defined for positive integers.</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nb">isNaN</span><span class="p">(</span><span
class="nx">n</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="nx">console</span><span class="p">.</span><span


class="nx">error</span><span class="p">(</span><span class="s2">"Non-numerical argument not
allowed."</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span
class="kc">NaN</span><span class="p">;</span><span class="w"> </span><span class="c1">// The
special value: Not a Number</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nx">n</span><span class="w"> </span><span
class="o">===</span><span class="w"> </span><span class="mf">0</span><span
class="p">)</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="mf">1</span><span class="p">;</span><span class="w"> </span><span class="c1">// 0! =
1</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nx">n</span><span class="w"> </span><span
class="o">&lt;</span><span class="w"> </span><span class="mf">0</span><span
class="p">)</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="kc">undefined</span><span class="p">;</span><span class="w"> </span><span
class="c1">// Factorial of negative numbers is not defined.</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nx">n</span><span class="w"> </span><span
class="o">%</span><span class="w"> </span><span class="mf">1</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="nx">console</span><span class="p">.</span><span


class="nx">warn</span><span class="p">(</span><span class="sb">`</span><span
class="si">${</span><span class="nx">n</span><span class="si">}</span><span class="sb"> will be
rounded to the closest integer. For non-integers consider using gamma function
instead.`</span><span class="p">);</span>

<span class="w"> </span><span class="nx">n</span><span class="w"> </span><span


class="o">=</span><span class="w"> </span><span class="nb">Math</span><span
class="p">.</span><span class="nx">round</span><span class="p">(</span><span
class="nx">n</span><span class="p">);</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="c1">// The above checks need not be repeated in the
recursion, hence defining the actual recursive part separately below.</span>

<span class="w"> </span><span class="c1">// The following line is a function expression to


recursively compute the factorial. It uses the arrow syntax introduced in ES6.</span>

<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span


class="nx">recursivelyCompute</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="nx">a</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="o">&gt;</span><span class="w"> </span><span class="mf">1</span><span
class="w"> </span><span class="o">?</span><span class="w"> </span><span
class="nx">a</span><span class="w"> </span><span class="o">*</span><span class="w">
</span><span class="nx">recursivelyCompute</span><span class="p">(</span><span
class="nx">a</span><span class="w"> </span><span class="o">-</span><span class="w">
</span><span class="mf">1</span><span class="p">)</span><span class="w"> </span><span
class="o">:</span><span class="w"> </span><span class="mf">1</span><span
class="p">;</span><span class="w"> </span><span class="c1">// Note the use of the ternary
operator `?`.</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">recursivelyCompute</span><span class="p">(</span><span class="nx">n</span><span
class="p">);</span>

<span class="p">}</span>

<span class="nx">factorial</span><span class="p">(</span><span class="mf">3</span><span


class="p">);</span><span class="w"> </span><span class="c1">// Returns 6</span>

</pre></div>

<p>An <a href="/wiki/Anonymous_function" title="Anonymous function">anonymous function</a>


(or lambda):

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">const</span><span class="w"> </span><span
class="nx">counter</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">count</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="mf">0</span><span class="p">;</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="kd">function</span><span class="p">()</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="o">++</span><span class="nx">count</span><span class="p">;</span>

<span class="w"> </span><span class="p">}</span>

<span class="p">};</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">x</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="nx">counter</span><span class="p">();</span>
<span class="nx">x</span><span class="p">();</span><span class="w"> </span><span class="c1">//
Returns 1</span>

<span class="nx">x</span><span class="p">();</span><span class="w"> </span><span class="c1">//


Returns 2</span>

<span class="nx">x</span><span class="p">();</span><span class="w"> </span><span class="c1">//


Returns 3</span>

</pre></div>

<p>This example shows that, in JavaScript, <a href="/wiki/Closure_(computer_programming)"


title="Closure (computer programming)">function closures</a> capture their non-local variables by
reference.

</p><p>Arrow functions were first introduced in <a href="/wiki/ECMAScript#6th_Edition_–


_ECMAScript_2015" title="ECMAScript">6th Edition - ECMAScript 2015</a>. They shorten the syntax
for writing functions in JavaScript. Arrow functions are anonymous, so a variable is needed to refer to
them in order to invoke them after their creation, unless surrounded by parenthesis and executed
immediately.

</p><p>Example of arrow function:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="c1">// Arrow functions let us omit the `function`
keyword.</span>

<span class="c1">// Here `long_example` points to an anonymous function value.</span>

<span class="kd">const</span><span class="w"> </span><span


class="nx">long_example</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="p">(</span><span class="nx">input1</span><span
class="p">,</span><span class="w"> </span><span class="nx">input2</span><span
class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="nx">console</span><span class="p">.</span><span


class="nx">log</span><span class="p">(</span><span class="s2">"Hello, World!"</span><span
class="p">);</span>

<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span


class="nx">output</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">input1</span><span class="w"> </span><span class="o">+</span><span
class="w"> </span><span class="nx">input2</span><span class="p">;</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">output</span><span class="p">;</span>

<span class="p">};</span>
<span class="c1">// If there are no braces, the arrow function simply returns the expression</span>

<span class="c1">// So here it's (input1 + input2)</span>

<span class="kd">const</span><span class="w"> </span><span


class="nx">short_example</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="p">(</span><span class="nx">input1</span><span
class="p">,</span><span class="w"> </span><span class="nx">input2</span><span
class="p">)</span><span class="w"> </span><span class="p">=&gt;</span><span class="w">
</span><span class="nx">input1</span><span class="w"> </span><span class="o">+</span><span
class="w"> </span><span class="nx">input2</span><span class="p">;</span>

<span class="nx">long_example</span><span class="p">(</span><span class="mf">2</span><span


class="p">,</span><span class="w"> </span><span class="mf">3</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Prints "Hello, World!" and returns
5</span>

<span class="nx">short_example</span><span class="p">(</span><span class="mf">2</span><span


class="p">,</span><span class="w"> </span><span class="mf">5</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Returns 7</span>

<span class="c1">// If an arrow function has only one parameter, the parentheses can be
removed.</span>

<span class="kd">const</span><span class="w"> </span><span


class="nx">no_parentheses</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="nx">input</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="nx">input</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="mf">2</span><span
class="p">;</span>

<span class="nx">no_parentheses</span><span class="p">(</span><span


class="mf">3</span><span class="p">);</span><span class="w"> </span><span class="c1">//
Returns 5</span>

<span class="c1">// An arrow function, like other function definitions, can be executed in the same
statement as they are created.</span>

<span class="c1">// This is useful when writing libraries to avoid filling the global scope, and for
closures.</span>

<span class="kd">let</span><span class="w"> </span><span class="nx">three</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="w">
</span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="nx">b</span><span
class="p">)</span><span class="w"> </span><span class="p">(</span><span
class="mf">1</span><span class="p">,</span><span class="w"> </span><span
class="mf">2</span><span class="p">);</span>

<span class="kd">const</span><span class="w"> </span><span


class="nx">generate_multiplier_function</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="p">=&gt;</span><span class="w"> </span><span class="p">(</span><span
class="nx">b</span><span class="w"> </span><span class="p">=&gt;</span><span class="w">
</span><span class="nb">isNaN</span><span class="p">(</span><span class="nx">b</span><span
class="p">)</span><span class="w"> </span><span class="o">||</span><span class="w">
</span><span class="o">!</span><span class="nx">b</span><span class="w"> </span><span
class="o">?</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="o">:</span><span class="w"> </span><span class="nx">a</span><span
class="o">*=</span><span class="nx">b</span><span class="p">);</span>

<span class="kd">const</span><span class="w"> </span><span


class="nx">five_multiples</span><span class="w"> </span><span class="o">=</span><span
class="w"> </span><span class="nx">generate_multiplier_function</span><span
class="p">(</span><span class="mf">5</span><span class="p">);</span><span class="w">
</span><span class="c1">// The supplied argument "seeds" the expression and is retained by
a.</span>

<span class="nx">five_multiples</span><span class="p">(</span><span class="mf">1</span><span


class="p">);</span><span class="w"> </span><span class="c1">// Returns 5</span>

<span class="nx">five_multiples</span><span class="p">(</span><span class="mf">3</span><span


class="p">);</span><span class="w"> </span><span class="c1">// Returns 15</span>

<span class="nx">five_multiples</span><span class="p">(</span><span class="mf">4</span><span


class="p">);</span><span class="w"> </span><span class="c1">// Returns 60</span>

</pre></div>

<p>In JavaScript, <a href="/wiki/Object_(computer_science)" title="Object (computer


science)">objects</a> can be created as <a href="/wiki/Instance_(computer_science)"
title="Instance (computer science)">instances</a> of a <a href="/wiki/Class_(computer_science)"
class="mw-redirect" title="Class (computer science)">class</a>.

</p><p>Object class example:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">class</span><span class="w"> </span><span
class="nx">Ball</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kr">constructor</span><span class="p">(</span><span
class="nx">radius</span><span class="p">)</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">radius</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">radius</span><span class="p">;</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">area</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nb">Math</span><span class="p">.</span><span class="nx">PI</span><span
class="w"> </span><span class="o">*</span><span class="w"> </span><span
class="p">(</span><span class="w"> </span><span class="nx">radius</span><span class="w">
</span><span class="o">**</span><span class="w"> </span><span class="mf">2</span><span
class="w"> </span><span class="p">);</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="c1">// Classes (and thus objects) can contain functions
known as methods</span>

<span class="w"> </span><span class="nx">show</span><span class="p">()</span><span


class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="nx">console</span><span class="p">.</span><span


class="nx">log</span><span class="p">(</span><span class="k">this</span><span
class="p">.</span><span class="nx">radius</span><span class="p">);</span>

<span class="w"> </span><span class="p">}</span>

<span class="p">};</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">myBall</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="ow">new</span><span class="w"> </span><span class="nx">Ball</span><span
class="p">(</span><span class="mf">5</span><span class="p">);</span><span class="w">
</span><span class="c1">// Creates a new instance of the ball object with radius 5</span>

<span class="nx">myBall</span><span class="p">.</span><span class="nx">radius</span><span


class="o">++</span><span class="p">;</span><span class="w"> </span><span class="c1">// Object
properties can usually be modified from the outside</span>

<span class="nx">myBall</span><span class="p">.</span><span class="nx">show</span><span


class="p">();</span><span class="w"> </span><span class="c1">// Using the inherited "show"
function logs "6"</span>

</pre></div>

<p>In JavaScript, <a href="/wiki/Object_(computer_science)" title="Object (computer


science)">objects</a> can be instantiated directly from a function.
</p><p>Object functional example:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">function</span><span class="w"> </span><span
class="nx">Ball</span><span class="p">(</span><span class="nx">radius</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span


class="nx">area</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nb">Math</span><span class="p">.</span><span class="nx">PI</span><span
class="w"> </span><span class="o">*</span><span class="w"> </span><span
class="p">(</span><span class="w"> </span><span class="nx">radius</span><span class="w">
</span><span class="o">**</span><span class="w"> </span><span class="mf">2</span><span
class="w"> </span><span class="p">);</span>

<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span


class="nx">obj</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="p">{</span><span class="w"> </span><span class="nx">radius</span><span
class="p">,</span><span class="w"> </span><span class="nx">area</span><span class="w">
</span><span class="p">};</span>

<span class="w"> </span><span class="c1">// Objects are mutable, and functions can be added as
properties.</span>

<span class="w"> </span><span class="nx">obj</span><span class="p">.</span><span


class="nx">show</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="p">()</span><span class="w"> </span><span class="p">=&gt;</span><span
class="w"> </span><span class="nx">console</span><span class="p">.</span><span
class="nx">log</span><span class="p">(</span><span class="nx">obj</span><span
class="p">.</span><span class="nx">radius</span><span class="p">);</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">obj</span><span class="p">;</span>

<span class="p">};</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">myBall</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="nx">Ball</span><span class="p">(</span><span class="mf">5</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Creates a new ball object with
radius 5. No "new" keyword needed.</span>

<span class="nx">myBall</span><span class="p">.</span><span class="nx">radius</span><span


class="o">++</span><span class="p">;</span><span class="w"> </span><span class="c1">// The
instance property can be modified.</span>
<span class="nx">myBall</span><span class="p">.</span><span class="nx">show</span><span
class="p">();</span><span class="w"> </span><span class="c1">// Using the "show" function logs
"6" - the new instance value.</span>

</pre></div>

<p><a href="/wiki/Variadic_function" title="Variadic function">Variadic function</a> demonstration


(<code>arguments</code> is a special <a href="/wiki/Variable_(programming)" class="mw-redirect"
title="Variable (programming)">variable</a>):<sup id="cite_ref-80" class="reference"><a
href="#cite_note-80">[80]</a></sup>

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">function</span><span class="w"> </span><span
class="nx">sum</span><span class="p">()</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">x</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="mf">0</span><span class="p">;</span>

<span class="w"> </span><span class="k">for</span><span class="w"> </span><span


class="p">(</span><span class="kd">let</span><span class="w"> </span><span
class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span
class="nx">i</span><span class="w"> </span><span class="o">&lt;</span><span class="w">
</span><span class="nx">arguments</span><span class="p">.</span><span
class="nx">length</span><span class="p">;</span><span class="w"> </span><span
class="o">++</span><span class="nx">i</span><span class="p">)</span>

<span class="w"> </span><span class="nx">x</span><span class="w"> </span><span


class="o">+=</span><span class="w"> </span><span class="nx">arguments</span><span
class="p">[</span><span class="nx">i</span><span class="p">];</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">x</span><span class="p">;</span>

<span class="p">}</span>

<span class="nx">sum</span><span class="p">(</span><span class="mf">1</span><span


class="p">,</span><span class="w"> </span><span class="mf">2</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Returns 3</span>

<span class="nx">sum</span><span class="p">(</span><span class="mf">1</span><span


class="p">,</span><span class="w"> </span><span class="mf">2</span><span
class="p">,</span><span class="w"> </span><span class="mf">3</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Returns 6</span>
<span class="c1">// As of ES6, using the rest operator.</span>

<span class="kd">function</span><span class="w"> </span><span class="nx">sum</span><span


class="p">(...</span><span class="nx">args</span><span class="p">)</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">args</span><span class="p">.</span><span class="nx">reduce</span><span
class="p">((</span><span class="nx">a</span><span class="p">,</span><span class="w">
</span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="nx">b</span><span
class="p">);</span>

<span class="p">}</span>

<span class="nx">sum</span><span class="p">(</span><span class="mf">1</span><span


class="p">,</span><span class="w"> </span><span class="mf">2</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Returns 3</span>

<span class="nx">sum</span><span class="p">(</span><span class="mf">1</span><span


class="p">,</span><span class="w"> </span><span class="mf">2</span><span
class="p">,</span><span class="w"> </span><span class="mf">3</span><span
class="p">);</span><span class="w"> </span><span class="c1">// Returns 6</span>

</pre></div>

<p><a href="/wiki/Immediately-invoked_function_expression" class="mw-redirect"


title="Immediately-invoked function expression">Immediately-invoked function expressions</a> are
often used to create closures. Closures allow gathering properties and methods in a namespace and
making some of them private:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="kd">let</span><span class="w"> </span><span
class="nx">counter</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span><span
class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">i</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="mf">0</span><span class="p">;</span><span class="w"> </span><span
class="c1">// Private property</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="p">{</span><span class="w"> </span><span class="c1">// Public methods</span>
<span class="w"> </span><span class="nx">get</span><span class="o">:</span><span
class="w"> </span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="nx">alert</span><span class="p">(</span><span


class="nx">i</span><span class="p">);</span>

<span class="w"> </span><span class="p">},</span>

<span class="w"> </span><span class="nx">set</span><span class="o">:</span><span


class="w"> </span><span class="kd">function</span><span class="p">(</span><span
class="nx">value</span><span class="p">)</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="nx">i</span><span class="w"> </span><span


class="o">=</span><span class="w"> </span><span class="nx">value</span><span
class="p">;</span>

<span class="w"> </span><span class="p">},</span>

<span class="w"> </span><span class="nx">increment</span><span class="o">:</span><span


class="w"> </span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="nx">alert</span><span class="p">(</span><span


class="o">++</span><span class="nx">i</span><span class="p">);</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="p">};</span>

<span class="p">})();</span><span class="w"> </span><span class="c1">// Module</span>

<span class="nx">counter</span><span class="p">.</span><span class="nx">get</span><span


class="p">();</span><span class="w"> </span><span class="c1">// Returns 0</span>

<span class="nx">counter</span><span class="p">.</span><span class="nx">set</span><span


class="p">(</span><span class="mf">6</span><span class="p">);</span>

<span class="nx">counter</span><span class="p">.</span><span


class="nx">increment</span><span class="p">();</span><span class="w"> </span><span
class="c1">// Returns 7</span>

<span class="nx">counter</span><span class="p">.</span><span


class="nx">increment</span><span class="p">();</span><span class="w"> </span><span
class="c1">// Returns 8</span>

</pre></div>

<p><a href="/wiki/Generator_(computer_programming)" title="Generator (computer


programming)">Generator</a> objects (in the form of generator functions) provide a function which
can be called, exited, and re-entered while maintaining internal context (statefulness).<sup
id="cite_ref-81" class="reference"><a href="#cite_note-81">[81]</a></sup></p><div class="mw-
highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span
class="kd">function</span><span class="o">*</span><span class="w"> </span><span
class="nx">rawCounter</span><span class="p">()</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="k">yield</span><span class="w"> </span><span


class="mf">1</span><span class="p">;</span>

<span class="w"> </span><span class="k">yield</span><span class="w"> </span><span


class="mf">2</span><span class="p">;</span>

<span class="p">}</span>

<span class="kd">function</span><span class="o">*</span><span class="w"> </span><span


class="nx">dynamicCounter</span><span class="p">()</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">count</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="mf">0</span><span class="p">;</span>

<span class="w"> </span><span class="k">while</span><span class="w"> </span><span


class="p">(</span><span class="kc">true</span><span class="p">)</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="c1">// It is not recommended to utilize while true loops
in most cases.</span>

<span class="w"> </span><span class="k">yield</span><span class="w"> </span><span


class="o">++</span><span class="nx">count</span><span class="p">;</span>

<span class="w"> </span><span class="p">}</span>

<span class="p">}</span>

<span class="c1">// Instances</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">counter1</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="nx">rawCounter</span><span class="p">();</span>

<span class="kd">const</span><span class="w"> </span><span class="nx">counter2</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="nx">dynamicCounter</span><span class="p">();</span>

<span class="c1">// Implementation</span>

<span class="nx">counter1</span><span class="p">.</span><span class="nx">next</span><span


class="p">();</span><span class="w"> </span><span class="c1">// {value: 1, done: false}</span>
<span class="nx">counter1</span><span class="p">.</span><span class="nx">next</span><span
class="p">();</span><span class="w"> </span><span class="c1">// {value: 2, done: false}</span>

<span class="nx">counter1</span><span class="p">.</span><span class="nx">next</span><span


class="p">();</span><span class="w"> </span><span class="c1">// {value: undefined, done:
true}</span>

<span class="nx">counter2</span><span class="p">.</span><span class="nx">next</span><span


class="p">();</span><span class="w"> </span><span class="c1">// {value: 1, done: false}</span>

<span class="nx">counter2</span><span class="p">.</span><span class="nx">next</span><span


class="p">();</span><span class="w"> </span><span class="c1">// {value: 2, done: false}</span>

<span class="nx">counter2</span><span class="p">.</span><span class="nx">next</span><span


class="p">();</span><span class="w"> </span><span class="c1">// {value: 3, done: false}</span>

<span class="c1">// ...infinitely</span>

</pre></div>

<p>JavaScript can export and import from modules:<sup id="cite_ref-moz_modules_82-0"


class="reference"><a href="#cite_note-moz_modules-82">[82]</a></sup>

</p><p>Export example:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="cm">/* [Link] */</span>

<span class="c1">// This function remains private, as it is not exported</span>

<span class="kd">let</span><span class="w"> </span><span class="nx">sum</span><span


class="w"> </span><span class="o">=</span><span class="w"> </span><span
class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="w">
</span><span class="nx">b</span><span class="p">)</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">a</span><span class="w"> </span><span class="o">+</span><span class="w">
</span><span class="nx">b</span><span class="p">;</span>

<span class="p">}</span>

<span class="c1">// Export variables</span>

<span class="k">export</span><span class="w"> </span><span class="kd">let</span><span


class="w"> </span><span class="nx">name</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="s1">'Alice'</span><span
class="p">;</span>
<span class="k">export</span><span class="w"> </span><span class="kd">let</span><span
class="w"> </span><span class="nx">age</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="mf">23</span><span class="p">;</span>

<span class="c1">// Export named functions</span>

<span class="k">export</span><span class="w"> </span><span class="kd">function</span><span


class="w"> </span><span class="nx">add</span><span class="p">(</span><span
class="nx">num1</span><span class="p">,</span><span class="w"> </span><span
class="nx">num2</span><span class="p">)</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">num1</span><span class="w"> </span><span class="o">+</span><span class="w">
</span><span class="nx">num2</span><span class="p">;</span>

<span class="p">}</span>

<span class="c1">// Export class</span>

<span class="k">export</span><span class="w"> </span><span class="kd">class</span><span


class="w"> </span><span class="nx">Multiplication</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="kr">constructor</span><span class="p">(</span><span


class="nx">num1</span><span class="p">,</span><span class="w"> </span><span
class="nx">num2</span><span class="p">)</span><span class="w"> </span><span
class="p">{</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">num1</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">num1</span><span class="p">;</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">num2</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">num2</span><span class="p">;</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="nx">add</span><span class="p">()</span><span


class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">sum</span><span class="p">(</span><span class="k">this</span><span
class="p">.</span><span class="nx">num1</span><span class="p">,</span><span class="w">
</span><span class="k">this</span><span class="p">.</span><span class="nx">num2</span><span
class="p">);</span>

<span class="w"> </span><span class="p">}</span>


<span class="p">}</span>

</pre></div>

<p>Import example:

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="c1">// Import one property</span>

<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w">


</span><span class="nx">add</span><span class="w"> </span><span class="p">}</span><span
class="w"> </span><span class="kr">from</span><span class="w"> </span><span
class="s1">'./[Link]'</span><span class="p">;</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span


class="p">(</span><span class="nx">add</span><span class="p">(</span><span
class="mf">1</span><span class="p">,</span><span class="w"> </span><span
class="mf">2</span><span class="p">));</span>

<span class="c1">//&gt; 3</span>

<span class="c1">// Import multiple properties</span>

<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w">


</span><span class="nx">name</span><span class="p">,</span><span class="w"> </span><span
class="nx">age</span><span class="w"> </span><span class="p">}</span><span class="w">
</span><span class="kr">from</span><span class="w"> </span><span
class="s1">'./[Link]'</span><span class="p">;</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span


class="p">(</span><span class="nx">name</span><span class="p">,</span><span class="w">
</span><span class="nx">age</span><span class="p">);</span>

<span class="c1">//&gt; "Alice", 23</span>

<span class="c1">// Import all properties from a module</span>

<span class="k">import</span><span class="w"> </span><span class="o">*</span><span


class="w"> </span><span class="kr">from</span><span class="w"> </span><span
class="s1">'./[Link]'</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span


class="p">(</span><span class="nx">name</span><span class="p">,</span><span class="w">
</span><span class="nx">age</span><span class="p">);</span>

<span class="c1">//&gt; "Alice", 23</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span


class="p">(</span><span class="nx">add</span><span class="p">(</span><span
class="mf">1</span><span class="p">,</span><span class="mf">2</span><span
class="p">));</span>

<span class="c1">//&gt; 3</span>

</pre></div>

<h3><span class="mw-headline" id="More_advanced_example">More advanced


example</span></h3>

<p>This sample code displays various JavaScript features.

</p>

<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr"


dir="ltr"><pre><span></span><span class="cm">/* Finds the lowest common multiple (LCM) of two
numbers */</span>

<span class="kd">function</span><span class="w"> </span><span


class="nx">LCMCalculator</span><span class="p">(</span><span class="nx">x</span><span
class="p">,</span><span class="w"> </span><span class="nx">y</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="c1">// constructor function</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nb">isNaN</span><span class="p">(</span><span
class="nx">x</span><span class="o">*</span><span class="nx">y</span><span
class="p">))</span><span class="w"> </span><span class="k">throw</span><span class="w">
</span><span class="ow">new</span><span class="w"> </span><span
class="ne">TypeError</span><span class="p">(</span><span class="s2">"Non-numeric arguments
not allowed."</span><span class="p">);</span>

<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span


class="nx">checkInt</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="kd">function</span><span class="p">(</span><span
class="nx">x</span><span class="p">)</span><span class="w"> </span><span
class="p">{</span><span class="w"> </span><span class="c1">// inner function</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nx">x</span><span class="w"> </span><span
class="o">%</span><span class="w"> </span><span class="mf">1</span><span class="w">
</span><span class="o">!==</span><span class="w"> </span><span class="mf">0</span><span
class="p">)</span>

<span class="w"> </span><span class="k">throw</span><span class="w"> </span><span


class="ow">new</span><span class="w"> </span><span class="ne">TypeError</span><span
class="p">(</span><span class="nx">x</span><span class="w"> </span><span
class="o">+</span><span class="w"> </span><span class="s2">"is not an integer"</span><span
class="p">);</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">x</span><span class="p">;</span>
<span class="w"> </span><span class="p">};</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">a</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">checkInt</span><span class="p">(</span><span
class="nx">x</span><span class="p">)</span>

<span class="w"> </span><span class="c1">// semicolons ^^^^ are optional, a newline is


enough</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">b</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nx">checkInt</span><span class="p">(</span><span
class="nx">y</span><span class="p">);</span>

<span class="p">}</span>

<span class="c1">// The prototype of object instances created by a constructor is</span>

<span class="c1">// that constructor's "prototype" property.</span>

<span class="nx">LCMCalculator</span><span class="p">.</span><span


class="nx">prototype</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="p">{</span><span class="w"> </span><span class="c1">// object literal</span>

<span class="w"> </span><span class="kr">constructor</span><span class="o">:</span><span


class="w"> </span><span class="nx">LCMCalculator</span><span class="p">,</span><span
class="w"> </span><span class="c1">// when reassigning a prototype, set the constructor property
appropriately</span>

<span class="w"> </span><span class="nx">gcd</span><span class="o">:</span><span class="w">


</span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span><span class="w"> </span><span class="c1">// method that
calculates the greatest common divisor</span>

<span class="w"> </span><span class="c1">// Euclidean algorithm:</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">a</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nb">Math</span><span class="p">.</span><span class="nx">abs</span><span
class="p">(</span><span class="k">this</span><span class="p">.</span><span
class="nx">a</span><span class="p">),</span><span class="w"> </span><span
class="nx">b</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="nb">Math</span><span class="p">.</span><span class="nx">abs</span><span
class="p">(</span><span class="k">this</span><span class="p">.</span><span
class="nx">b</span><span class="p">),</span><span class="w"> </span><span
class="nx">t</span><span class="p">;</span>

<span class="w"> </span><span class="k">if</span><span class="w"> </span><span


class="p">(</span><span class="nx">a</span><span class="w"> </span><span
class="o">&lt;</span><span class="w"> </span><span class="nx">b</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="c1">// swap variables</span>

<span class="w"> </span><span class="c1">// t = b; b = a; a = t;</span>

<span class="w"> </span><span class="p">[</span><span class="nx">a</span><span


class="p">,</span><span class="w"> </span><span class="nx">b</span><span
class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="p">[</span><span class="nx">b</span><span class="p">,</span><span
class="w"> </span><span class="nx">a</span><span class="p">];</span><span class="w">
</span><span class="c1">// swap using destructuring assignment (ES6)</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="k">while</span><span class="w"> </span><span


class="p">(</span><span class="nx">b</span><span class="w"> </span><span
class="o">!==</span><span class="w"> </span><span class="mf">0</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="nx">t</span><span class="w"> </span><span


class="o">=</span><span class="w"> </span><span class="nx">b</span><span class="p">;</span>

<span class="w"> </span><span class="nx">b</span><span class="w"> </span><span


class="o">=</span><span class="w"> </span><span class="nx">a</span><span class="w">
</span><span class="o">%</span><span class="w"> </span><span class="nx">b</span><span
class="p">;</span>

<span class="w"> </span><span class="nx">a</span><span class="w"> </span><span


class="o">=</span><span class="w"> </span><span class="nx">t</span><span class="p">;</span>

<span class="w"> </span><span class="p">}</span>

<span class="w"> </span><span class="c1">// Only need to calculate GCD once, so "redefine"
this method.</span>

<span class="w"> </span><span class="c1">// (Actually not redefinition—it's defined on the


instance itself,</span>

<span class="w"> </span><span class="c1">// so that [Link] refers to this "redefinition" instead
of [Link].</span>

<span class="w"> </span><span class="c1">// Note that this leads to a wrong result if the
LCMCalculator object members "a" or "b" are altered afterwards.)</span>

<span class="w"> </span><span class="c1">// Also, 'gcd' === "gcd", this['gcd'] ===
[Link]</span>

<span class="w"> </span><span class="k">this</span><span class="p">[</span><span


class="s1">'gcd'</span><span class="p">]</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="kd">function</span><span
class="p">()</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">a</span><span class="p">;</span>

<span class="w"> </span><span class="p">};</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">a</span><span class="p">;</span>

<span class="w"> </span><span class="p">},</span>

<span class="w"> </span><span class="c1">// Object property names can be specified by strings
delimited by double (") or single (') quotes.</span>

<span class="w"> </span><span class="s2">"lcm"</span><span class="o">:</span><span


class="w"> </span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="c1">// Variable names do not collide with object
properties, e.g., |lcm| is not |[Link]|.</span>

<span class="w"> </span><span class="c1">// not using |this.a*this.b| to avoid FP precision


issues</span>

<span class="w"> </span><span class="kd">let</span><span class="w"> </span><span


class="nx">lcm</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="k">this</span><span class="p">.</span><span class="nx">a</span><span
class="w"> </span><span class="o">/</span><span class="w"> </span><span
class="k">this</span><span class="p">.</span><span class="nx">gcd</span><span
class="p">()</span><span class="w"> </span><span class="o">*</span><span class="w">
</span><span class="k">this</span><span class="p">.</span><span class="nx">b</span><span
class="p">;</span>

<span class="w"> </span><span class="c1">// Only need to calculate lcm once, so "redefine" this
method.</span>

<span class="w"> </span><span class="k">this</span><span class="p">.</span><span


class="nx">lcm</span><span class="w"> </span><span class="o">=</span><span class="w">
</span><span class="kd">function</span><span class="p">()</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="nx">lcm</span><span class="p">;</span>

<span class="w"> </span><span class="p">};</span>


<span class="w"> </span><span class="k">return</span><span class="w"> </span><span
class="nx">lcm</span><span class="p">;</span>

<span class="w"> </span><span class="p">},</span>

<span class="w"> </span><span class="c1">// Methods can also be declared using ES6
syntax</span>

<span class="w"> </span><span class="nx">toString</span><span class="p">()</span><span


class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="c1">// Using both ES6 template literals and the (+)
operator to concatenate values</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="sb">`LCMCalculator: a = </span><span class="si">${</span><span
class="k">this</span><span class="p">.</span><span class="nx">a</span><span
class="si">}</span><span class="sb">, b = `</span><span class="w"> </span><span
class="o">+</span><span class="w"> </span><span class="k">this</span><span
class="p">.</span><span class="nx">b</span><span class="p">;</span>

<span class="w"> </span><span class="p">}</span>

<span class="p">};</span>

<span class="c1">// Define generic output function; this implementation only works for Web
browsers</span>

<span class="kd">function</span><span class="w"> </span><span class="nx">output</span><span


class="p">(</span><span class="nx">x</span><span class="p">)</span><span class="w">
</span><span class="p">{</span>

<span class="w"> </span><span class="nb">document</span><span class="p">.</span><span


class="nx">body</span><span class="p">.</span><span class="nx">appendChild</span><span
class="p">(</span><span class="nb">document</span><span class="p">.</span><span
class="nx">createTextNode</span><span class="p">(</span><span class="nx">x</span><span
class="p">));</span>

<span class="w"> </span><span class="nb">document</span><span class="p">.</span><span


class="nx">body</span><span class="p">.</span><span class="nx">appendChild</span><span
class="p">(</span><span class="nb">document</span><span class="p">.</span><span
class="nx">createElement</span><span class="p">(</span><span class="s1">'br'</span><span
class="p">));</span>

<span class="p">}</span>

<span class="c1">// Note: Array's map() and forEach() are defined in JavaScript 1.6.</span>
<span class="c1">// They are used here to demonstrate JavaScript's inherent functional
nature.</span>

<span class="p">[</span>

<span class="w"> </span><span class="p">[</span><span class="mf">25</span><span


class="p">,</span><span class="w"> </span><span class="mf">55</span><span class="p">],</span>

<span class="w"> </span><span class="p">[</span><span class="mf">21</span><span


class="p">,</span><span class="w"> </span><span class="mf">56</span><span class="p">],</span>

<span class="w"> </span><span class="p">[</span><span class="mf">22</span><span


class="p">,</span><span class="w"> </span><span class="mf">58</span><span class="p">],</span>

<span class="w"> </span><span class="p">[</span><span class="mf">28</span><span


class="p">,</span><span class="w"> </span><span class="mf">56</span><span class="p">]</span>

<span class="p">].</span><span class="nx">map</span><span class="p">(</span><span


class="kd">function</span><span class="p">(</span><span class="nx">pair</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w">
</span><span class="c1">// array literal + mapping function</span>

<span class="w"> </span><span class="k">return</span><span class="w"> </span><span


class="ow">new</span><span class="w"> </span><span class="nx">LCMCalculator</span><span
class="p">(</span><span class="nx">pair</span><span class="p">[</span><span
class="mf">0</span><span class="p">],</span><span class="w"> </span><span
class="nx">pair</span><span class="p">[</span><span class="mf">1</span><span
class="p">]);</span>

<span class="p">}).</span><span class="nx">sort</span><span class="p">((</span><span


class="nx">a</span><span class="p">,</span><span class="w"> </span><span
class="nx">b</span><span class="p">)</span><span class="w"> </span><span
class="p">=&gt;</span><span class="w"> </span><span class="nx">a</span><span
class="p">.</span><span class="nx">lcm</span><span class="p">()</span><span class="w">
</span><span class="o">-</span><span class="w"> </span><span class="nx">b</span><span
class="p">.</span><span class="nx">lcm</span><span class="p">())</span><span class="w">
</span><span class="c1">// sort with this comparative function; =&gt; is a shorthand form of a
function, called "arrow function"</span>

<span class="w"> </span><span class="p">.</span><span class="nx">forEach</span><span


class="p">(</span><span class="nx">printResult</span><span class="p">);</span>

<span class="kd">function</span><span class="w"> </span><span


class="nx">printResult</span><span class="p">(</span><span class="nx">obj</span><span
class="p">)</span><span class="w"> </span><span class="p">{</span>

<span class="w"> </span><span class="nx">output</span><span class="p">(</span><span


class="nx">obj</span><span class="w"> </span><span class="o">+</span><span class="w">
</span><span class="s2">", gcd = "</span><span class="w"> </span><span
class="o">+</span><span class="w"> </span><span class="nx">obj</span><span
class="p">.</span><span class="nx">gcd</span><span class="p">()</span><span class="w">
</span><span class="o">+</span><span class="w"> </span><span class="s2">", lcm =
"</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span
class="nx">obj</span><span class="p">.</span><span class="nx">lcm</span><span
class="p">());</span>

<span class="p">}</span>

</pre></div>

<p>The following output should be displayed in the browser window.

</p>

<div class="mw-highlight mw-highlight-lang-output mw-content-ltr"


dir="ltr"><pre><span></span><span class="go">LCMCalculator: a = 28, b = 56, gcd = 28, lcm =
56</span>

<span class="go">LCMCalculator: a = 21, b = 56, gcd = 7, lcm = 168</span>

<span class="go">LCMCalculator: a = 25, b = 55, gcd = 5, lcm = 275</span>

<span class="go">LCMCalculator: a = 22, b = 58, gcd = 2, lcm = 638</span>

</pre></div>

<h2><span class="mw-headline" id="Security">Security</span></h2>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Browser_security"
title="Browser security">Browser security</a></div>

<p>JavaScript and the <a href="/wiki/Document_Object_Model" title="Document Object


Model">DOM</a> provide the potential for malicious authors to deliver scripts to run on a client
computer via the Web. Browser authors minimize this risk using two restrictions. First, scripts run in
a <a href="/wiki/Sandbox_(computer_security)" title="Sandbox (computer security)">sandbox</a> in
which they can only perform Web-related actions, not general-purpose programming tasks like
creating files. Second, scripts are constrained by the <a href="/wiki/Same-origin_policy" title="Same-
origin policy">same-origin policy</a>: scripts from one website do not have access to information
such as usernames, passwords, or cookies sent to another site. Most JavaScript-related security bugs
are breaches of either the same origin policy or the sandbox.

</p><p>There are subsets of general JavaScript—ADsafe, Secure ECMAScript (SES)—that provide


greater levels of security, especially on code created by third parties (such as advertisements).<sup
id="cite_ref-83" class="reference"><a href="#cite_note-83">[83]</a></sup><sup id="cite_ref-84"
class="reference"><a href="#cite_note-84">[84]</a></sup> Closure Toolkit is another project for
safe embedding and isolation of third-party JavaScript and HTML.<sup id="cite_ref-85"
class="reference"><a href="#cite_note-85">[85]</a></sup>

</p><p><a href="/wiki/Content_Security_Policy" title="Content Security Policy">Content Security


Policy</a> is the main intended method of ensuring that only trusted code is executed on a Web
page.

</p>

<h3><span class="mw-headline" id="Cross-site_scripting">Cross-site scripting</span></h3>


<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div
role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Cross-
site_scripting" title="Cross-site scripting">Cross-site scripting</a></div>

<p>A common JavaScript-related security problem is <a href="/wiki/Cross-site_scripting"


title="Cross-site scripting">cross-site scripting</a> (XSS), a violation of the <a href="/wiki/Same-
origin_policy" title="Same-origin policy">same-origin policy</a>. XSS vulnerabilities occur when an
attacker can cause a target Website, such as an online banking website, to include a malicious script
in the webpage presented to a victim. The script in this example can then access the banking
application with the privileges of the victim, potentially disclosing secret information or transferring
money without the victim's authorization. One important solution to XSS vulnerabilities is <a
href="/wiki/HTML_sanitization" title="HTML sanitization">HTML sanitization</a>.

</p><p>Some browsers include partial protection against <i>reflected</i> XSS attacks, in which the
attacker provides a URL including malicious script. However, even users of those browsers are
vulnerable to other XSS attacks, such as those where the malicious code is stored in a database. Only
correct design of Web applications on the server-side can fully prevent XSS.

</p><p>XSS vulnerabilities can also occur because of implementation mistakes by browser


authors.<sup id="cite_ref-86" class="reference"><a href="#cite_note-86">[86]</a></sup>

</p>

<h3><span class="mw-headline" id="Cross-site_request_forgery">Cross-site request


forgery</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Cross-
site_request_forgery" title="Cross-site request forgery">Cross-site request forgery</a></div>

<p>Another cross-site vulnerability is <a href="/wiki/Cross-site_request_forgery" title="Cross-site


request forgery">cross-site request forgery</a> (CSRF). In CSRF, code on an attacker's site tricks the
victim's browser into taking actions the user did not intend at a target site (like transferring money at
a bank). When target sites rely solely on cookies for request authentication, requests originating
from code on the attacker's site can carry the same valid login credentials of the initiating user. In
general, the solution to CSRF is to require an authentication value in a hidden form field, and not
only in the cookies, to authenticate any request that might have lasting effects. Checking the HTTP
Referrer header can also help.

</p><p>"JavaScript hijacking" is a type of CSRF attack in which a <code>&lt;script&gt;</code> tag on


an attacker's site exploits a page on the victim's site that returns private information such as <a
href="/wiki/JSON" title="JSON">JSON</a> or JavaScript. Possible solutions include:

</p>

<ul><li>requiring an authentication token in the <a href="/wiki/POST_(HTTP)" title="POST


(HTTP)">POST</a> and <a href="/wiki/GET_(HTTP)" class="mw-redirect" title="GET
(HTTP)">GET</a> parameters for any response that returns private information.</li></ul>

<h3><span class="mw-headline" id="Misplaced_trust_in_the_client">Misplaced trust in the


client</span></h3>
<p>Developers of client-server applications must recognize that untrusted clients may be under the
control of attackers. The application author cannot assume that their JavaScript code will run as
intended (or at all) because any secret embedded in the code could be extracted by a determined
adversary. Some implications are:

</p>

<ul><li>Website authors cannot perfectly conceal how their JavaScript operates because the raw
source code must be sent to the client. The code can be <a href="/wiki/Obfuscated_code"
class="mw-redirect" title="Obfuscated code">obfuscated</a>, but obfuscation can be reverse-
engineered.</li>

<li>JavaScript form validation only provides convenience for users, not security. If a site verifies that
the user agreed to its terms of service, or filters invalid characters out of fields that should only
contain numbers, it must do so on the server, not only the client.</li>

<li>Scripts can be selectively disabled, so JavaScript cannot be relied on to prevent operations such
as right-clicking on an image to save it.<sup id="cite_ref-87" class="reference"><a href="#cite_note-
87">[87]</a></sup></li>

<li>It is considered very bad practice to embed sensitive information such as passwords in JavaScript
because it can be extracted by an attacker.<sup id="cite_ref-88" class="reference"><a
href="#cite_note-88">[88]</a></sup></li>

<li><a href="/wiki/Prototype_pollution" title="Prototype pollution">Prototype pollution</a> is a


runtime vulnerability in which attackers can overwrite arbitrary properties in an object's
prototype.</li></ul>

<h3><span class="mw-headline" id="Misplaced_trust_in_developers">Misplaced trust in


developers</span></h3>

<p>Package management systems such as <a href="/wiki/Npm_(software)" class="mw-redirect"


title="Npm (software)">npm</a> and Bower are popular with JavaScript developers. Such systems
allow a developer to easily manage their program's dependencies upon other developers' program
libraries. Developers trust that the maintainers of the libraries will keep them secure and up to date,
but that is not always the case. A vulnerability has emerged because of this blind trust. Relied-upon
libraries can have new releases that cause bugs or vulnerabilities to appear in all programs that rely
upon the libraries. Inversely, a library can go unpatched with known vulnerabilities out in the wild. In
a study done looking over a sample of 133,000 websites, researchers found 37% of the websites
included a library with at least one known vulnerability.<sup id="cite_ref-jslibs_89-0"
class="reference"><a href="#cite_note-jslibs-89">[89]</a></sup> "The median lag between the
oldest library version used on each website and the newest available version of that library is 1,177
days in ALEXA, and development of some libraries still in active use ceased years ago."<sup
id="cite_ref-jslibs_89-1" class="reference"><a href="#cite_note-jslibs-89">[89]</a></sup> Another
possibility is that the maintainer of a library may remove the library entirely. This occurred in March
2016 when Azer Koçulu removed his repository from npm. This caused tens of thousands of
programs and websites depending upon his libraries to break.<sup id="cite_ref-90"
class="reference"><a href="#cite_note-90">[90]</a></sup><sup id="cite_ref-91"
class="reference"><a href="#cite_note-91">[91]</a></sup>

</p>
<h3><span class="mw-headline" id="Browser_and_plugin_coding_errors">Browser and plugin
coding errors</span></h3>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">Further information: <a
href="/wiki/Buffer_overflow" title="Buffer overflow">Buffer overflow</a></div>

<p>JavaScript provides an interface to a wide range of browser capabilities, some of which may have
flaws such as <a href="/wiki/Buffer_overflow" title="Buffer overflow">buffer overflows</a>. These
flaws can allow attackers to write scripts that would run any code they wish on the user's system.
This code is not by any means limited to another JavaScript application. For example, a buffer
overrun exploit can allow an attacker to gain access to the operating system's <a href="/wiki/API"
title="API">API</a> with superuser privileges.

</p><p>These flaws have affected major browsers including Firefox,<sup id="cite_ref-92"


class="reference"><a href="#cite_note-92">[92]</a></sup> Internet Explorer,<sup id="cite_ref-93"
class="reference"><a href="#cite_note-93">[93]</a></sup> and Safari.<sup id="cite_ref-94"
class="reference"><a href="#cite_note-94">[94]</a></sup>

</p><p>Plugins, such as video players, <a href="/wiki/Adobe_Flash#Flash_client_security"


title="Adobe Flash">Adobe Flash</a>, and the wide range of <a href="/wiki/ActiveX"
title="ActiveX">ActiveX</a> controls enabled by default in Microsoft Internet Explorer, may also have
flaws exploitable via JavaScript (such flaws have been exploited in the past).<sup id="cite_ref-95"
class="reference"><a href="#cite_note-95">[95]</a></sup><sup id="cite_ref-96"
class="reference"><a href="#cite_note-96">[96]</a></sup>

</p><p>In Windows Vista, Microsoft has attempted to contain the risks of bugs such as buffer
overflows by running the Internet Explorer process with limited privileges.<sup id="cite_ref-97"
class="reference"><a href="#cite_note-97">[97]</a></sup> <a href="/wiki/Google_Chrome"
title="Google Chrome">Google Chrome</a> similarly confines its page renderers to their own "<a
href="/wiki/Sandbox_(computer_security)" title="Sandbox (computer security)">sandbox</a>".

</p>

<h3><span class="mw-headline" id="Sandbox_implementation_errors">Sandbox implementation


errors</span></h3>

<p>Web browsers are capable of running JavaScript outside the sandbox, with the privileges
necessary to, for example, create or delete files. Such privileges are not intended to be granted to
code from the Web.

</p><p>Incorrectly granting privileges to JavaScript from the Web has played a role in vulnerabilities
in both Internet Explorer<sup id="cite_ref-98" class="reference"><a
href="#cite_note-98">[98]</a></sup> and Firefox.<sup id="cite_ref-99" class="reference"><a
href="#cite_note-99">[99]</a></sup> In Windows XP Service Pack 2, Microsoft demoted JScript's
privileges in Internet Explorer.<sup id="cite_ref-100" class="reference"><a href="#cite_note-
100">[100]</a></sup>

</p><p><a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a>


allows JavaScript source files on a computer's hard drive to be launched as general-purpose, non-
sandboxed programs (see: <a href="/wiki/Windows_Script_Host" title="Windows Script
Host">Windows Script Host</a>). This makes JavaScript (like <a href="/wiki/VBScript"
title="VBScript">VBScript</a>) a theoretically viable vector for a <a
href="/wiki/Trojan_horse_(computing)" title="Trojan horse (computing)">Trojan horse</a>, although
JavaScript Trojan horses are uncommon in practice.<sup id="cite_ref-101" class="reference"><a
href="#cite_note-101">[101]</a></sup><sup class="noprint Inline-Template" style="white-
space:nowrap;">[<i><a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability"><span
title="The material near this tag failed verification of its source citation(s). (March 2017)">failed
verification</span></a></i>]</sup>

</p>

<h3><span class="mw-headline" id="Hardware_vulnerabilities">Hardware


vulnerabilities</span></h3>

<p>In 2015, a JavaScript-based proof-of-concept implementation of a <a href="/wiki/Rowhammer"


class="mw-redirect" title="Rowhammer">rowhammer</a> attack was described in a paper by
security researchers.<sup id="cite_ref-102" class="reference"><a
href="#cite_note-102">[102]</a></sup><sup id="cite_ref-103" class="reference"><a
href="#cite_note-103">[103]</a></sup><sup id="cite_ref-104" class="reference"><a
href="#cite_note-104">[104]</a></sup><sup id="cite_ref-105" class="reference"><a
href="#cite_note-105">[105]</a></sup>

</p><p>In 2017, a JavaScript-based attack via browser was demonstrated that could bypass <a
href="/wiki/Address_space_layout_randomization" title="Address space layout
randomization">ASLR</a>. It is called "ASLR⊕Cache" or AnC.<sup id="cite_ref-106"
class="reference"><a href="#cite_note-106">[106]</a></sup><sup id="cite_ref-107"
class="reference"><a href="#cite_note-107">[107]</a></sup>

</p><p>In 2018, the paper that announced the <a href="/wiki/Spectre_(security_vulnerability)"


title="Spectre (security vulnerability)">Spectre</a> attacks against Speculative Execution in Intel and
other processors included a JavaScript implementation.<sup id="cite_ref-108" class="reference"><a
href="#cite_note-108">[108]</a></sup>

</p>

<h2><span class="mw-headline" id="Development_tools">Development tools</span></h2>

<p>Important tools have evolved with the language.

</p>

<ul><li>Every major web browser has built-in <a href="/wiki/Web_development_tools" title="Web


development tools">web development tools</a>, including a JavaScript <a href="/wiki/Debugger"
title="Debugger">debugger</a>.</li>

<li><a href="/wiki/Static_program_analysis" title="Static program analysis">Static program


analysis</a> tools, such as <a href="/wiki/ESLint" title="ESLint">ESLint</a> and <a
href="/wiki/JSLint" title="JSLint">JSLint</a>, scan JavaScript code for conformance to a set of
standards and guidelines.</li>

<li>Some browsers have built-in <a href="/wiki/Profiling_(computer_programming)" title="Profiling


(computer programming)">profilers</a>. Stand-alone profiling libraries have also been created, such
as [Link] and jsbench.<sup id="cite_ref-109" class="reference"><a href="#cite_note-
109">[109]</a></sup><sup id="cite_ref-auto1_110-0" class="reference"><a href="#cite_note-auto1-
110">[110]</a></sup></li>

<li>Many <a href="/wiki/Text_editor" title="Text editor">text editors</a> have syntax highlighting


support for JavaScript code.</li></ul>

<h2><span class="mw-headline" id="Related_technologies">Related technologies</span></h2>

<h3><span class="mw-headline" id="Java">Java</span></h3>

<p>A common misconception is that JavaScript is directly related to <a


href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>. Both
indeed have a C-like syntax (the C language being their most immediate common ancestor language).
They are also typically <a href="/wiki/Sandbox_(computer_security)" title="Sandbox (computer
security)">sandboxed</a>, and JavaScript was designed with Java's syntax and standard library in
mind. In particular, all Java keywords were reserved in original JavaScript, JavaScript's standard
library follows Java's naming conventions, and JavaScript's <code class="mw-highlight mw-highlight-
lang-javascript mw-content-ltr" id="" style="" dir="ltr"><span class="nb">Math</span></code> and
<code class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" id="" style=""
dir="ltr"><span class="nb">Date</span></code> objects are based on classes from Java 1.0.<sup
id="cite_ref-popularity_111-0" class="reference"><a
href="#cite_note-popularity-111">[111]</a></sup>

</p><p>Both languages first appeared in 1995, but Java was developed by <a
href="/wiki/James_Gosling" title="James Gosling">James Gosling</a> of Sun Microsystems and
JavaScript by <a href="/wiki/Brendan_Eich" title="Brendan Eich">Brendan Eich</a> of Netscape
Communications.

</p><p>The differences between the two languages are more prominent than their similarities. Java
has <a href="/wiki/Static_typing" class="mw-redirect" title="Static typing">static typing</a>, while
JavaScript's typing is <a href="/wiki/Dynamic_typing" class="mw-redirect" title="Dynamic
typing">dynamic</a>. Java is loaded from <a href="/wiki/Compiler" title="Compiler">compiled</a>
bytecode, while JavaScript is loaded as human-readable source code. Java's objects are <a
href="/wiki/Class-based_programming" title="Class-based programming">class-based</a>, while
JavaScript's are <a href="/wiki/Prototype-based_programming" title="Prototype-based
programming">prototype-based</a>. Finally, Java did not support functional programming until Java
8, while JavaScript has done so from the beginning, being influenced by <a
href="/wiki/Scheme_(programming_language)" title="Scheme (programming
language)">Scheme</a>.

</p>

<h3><span class="mw-headline" id="JSON">JSON</span></h3>

<p><a href="/wiki/JSON" title="JSON">JSON</a> is a data format derived from JavaScript; hence the
name JavaScript Object Notation. It is a widely-used format supported by many other programming
languages.

</p>

<h3><span class="mw-headline" id="Transpilers">Transpilers</span></h3>


<p>Many websites are JavaScript-heavy, so <a href="/wiki/Transpiler" class="mw-redirect"
title="Transpiler">transpilers</a> have been created to convert code written in other languages,
which can aid the development process.<sup id="cite_ref-transpilers_35-1" class="reference"><a
href="#cite_note-transpilers-35">[35]</a></sup>

</p><p><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a> and <a


href="/wiki/CoffeeScript" title="CoffeeScript">CoffeeScript</a> are two notable languages that
transpile to JavaScript.

</p>

<h3><span class="mw-headline" id="WebAssembly">WebAssembly</span></h3>

<p><a href="/wiki/WebAssembly" title="WebAssembly">WebAssembly</a> is a newer language


with a <a href="/wiki/Bytecode" title="Bytecode">bytecode</a> format designed to complement
JavaScript, especially the performance-critical portions of <a href="/wiki/Web_page" title="Web
page">web page</a> scripts. All of the major <a href="/wiki/JavaScript_engine" title="JavaScript
engine">JavaScript engines</a> support WebAssembly,<sup id="cite_ref-112" class="reference"><a
href="#cite_note-112">[112]</a></sup> which runs in the same <a
href="/wiki/Sandbox_(computer_security)" title="Sandbox (computer security)">sandbox</a> as
regular JavaScript code.

</p><p><a href="/wiki/[Link]" title="[Link]">[Link]</a> is a subset of JavaScript that served as the


forerunner of WebAssembly.<sup id="cite_ref-113" class="reference"><a href="#cite_note-
113">[113]</a></sup>

</p>

<h2><span class="mw-headline" id="References">References</span></h2>

<style data-mw-deduplicate="TemplateStyles:r1217336898">.mw-parser-output .reflist{font-


size:90%;margin-bottom:0.5em;list-style-type:decimal}.mw-parser-output .reflist .references{font-
size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-
width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-
columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-
output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-
output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-
style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-
parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-
roman{list-style-type:lower-roman}</style><div class="reflist">

<div class="mw-references-wrap mw-references-columns"><ol class="references">

<li id="cite_note-press_release-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-


press_release_1-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-press_release_1-1"><sup><i><b>b</b></i></sup></a></span> <span
class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1215172403">.mw-parser-
output [Link]{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation
q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-
color:rgba(0,127,255,0.133)}.mw-parser-output .[Link]-lock-free
a{background:url("//[Link]/wikipedia/commons/6/65/[Link]")right 0.1em
center/9px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free
a{background-size:contain}.mw-parser-output .[Link]-lock-limited a,.mw-parser-
output .[Link]-lock-registration
a{background:url("//[Link]/wikipedia/commons/d/d6/[Link]")right
0.1em center/9px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-
limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration
a{background-size:contain}.mw-parser-output .[Link]-lock-subscription
a{background:url("//[Link]/wikipedia/commons/a/aa/[Link]")right 0.1em
center/9px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-
subscription a{background-size:contain}.mw-parser-output .cs1-ws-icon
a{background:url("//[Link]/wikipedia/commons/4/4c/[Link]")right
0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-
ws-icon a{background-size:contain}.mw-parser-output .cs1-
code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-
error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-
output .cs1-maint{display:none;color:#2C882D;margin-left:0.3em}.mw-parser-output .cs1-
format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-
kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-
weight:inherit}[Link]-theme-clientpref-night .mw-parser-output .cs1-
maint{color:#18911F}[Link]-theme-clientpref-night .mw-parser-output .cs1-visible-
error,[Link]-theme-clientpref-night .mw-parser-output .cs1-hidden-
error{color:#f8a397}@media(prefers-color-scheme:dark){[Link]-theme-clientpref-os .mw-parser-
output .cs1-visible-error,[Link]-theme-clientpref-os .mw-parser-output .cs1-hidden-
error{color:#f8a397}[Link]-theme-clientpref-os .mw-parser-output
.cs1-maint{color:#18911F}}</style><cite class="citation pressrelease cs1"><a rel="nofollow"
class="external text"
href="[Link]
[Link]">"Netscape and Sun announce JavaScript, the Open, Cross-platform Object
Scripting Language for Enterprise Networks and the Internet"</a> (Press release). 4 December 1995.
Archived from <a rel="nofollow" class="external text"
href="[Link] original</a> on 16 September
2007.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Netscape+and+Sun+announce+JavaScript
%2C+the+Open%2C+Cross-
platform+Object+Scripting+Language+for+Enterprise+Networks+and+the+Internet&amp;[Link]=19
95-12-04&amp;rft_id=https%3A%2F%[Link]%2Fnewsref%2Fpr
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-wikidata-d7f43e85b8900d2d29227ac1622064499af14a0f-v11-2"><span class="mw-


cite-backlink"><b><a href="#cite_ref-wikidata-d7f43e85b8900d2d29227ac1622064499af14a0f-
v11_2-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
class="citation web cs1"><a rel="nofollow" class="external text" href="[Link]
[Link]/14.0/">"ECMAScript® 2023 Language Specification"</a>. June 2023<span
class="reference-accessdate">. Retrieved <span class="nowrap">2 March</span>
2024</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=ECMAScript
%C2%AE+2023+Language+Specification&amp;[Link]=2023-06&amp;rft_id=https%3A%2F
%[Link]%2F14.0%2F&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-wikidata-6351048ad5638805e5935d8ba81b639a34072b65-v11-3"><span
class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-
6351048ad5638805e5935d8ba81b639a34072b65-v11_3-0" aria-label="Jump up" title="Jump
up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style"
href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a rel="nofollow"
class="external text" href="[Link] 2025 Language
Specification"</a>. 27 March 2024<span class="reference-accessdate">. Retrieved <span
class="nowrap">17 April</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=ECMAScript
%C2%AE+2025+Language+Specification&amp;[Link]=2024-03-27&amp;rft_id=https%3A%2F
%[Link]%2Fecma262%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-node.js_ECMAScript_Modules_Specification-4"><span class="mw-cite-


backlink"><b><a href="#cite_ref-node.js_ECMAScript_Modules_Specification_4-0" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
[Link]">"nodejs/node-eps"</a>. <i>GitHub</i>. <a rel="nofollow" class="external text"
href="[Link]
master/[Link]">Archived</a> from the original on 29 August 2020<span
class="reference-accessdate">. Retrieved <span class="nowrap">5 July</span>
2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Ajournal&amp;[Link]=unknown&amp;[Link]=GitHub&amp;[Link]=nodejs
%2Fnode-eps&amp;rft_id=https%3A%2F%[Link]%2Fnodejs%2Fnode-eps%2Fblob%2Fmaster
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-looklikejava-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-


looklikejava_5-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-looklikejava_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFSeibel2009" class="citation book cs1">Seibel, Peter (16 September 2009). <a
rel="nofollow" class="external text" href="[Link]
mWfgC&amp;q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&amp;pg=PA14
1"><i>Coders at Work: Reflections on the Craft of Programming</i></a>. Apress. <a
href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/9781430219484"
title="Special:BookSources/9781430219484"><bdi>9781430219484</bdi></a>. <a rel="nofollow"
class="external text"
href="[Link]
mWfgC&amp;q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&amp;pg=PA14
1">Archived</a> from the original on 24 December 2020<span class="reference-accessdate">.
Retrieved <span class="nowrap">25 December</span> 2018</span>. <q>Eich: The immediate
concern at Netscape was it must look like Java.</q></cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=Coders+at+Work
%3A+Reflections+on+the+Craft+of+Programming&amp;[Link]=Apress&amp;[Link]=2009-09-
16&amp;[Link]=9781430219484&amp;[Link]=Seibel&amp;[Link]=Peter&amp;rft_id=https
%3A%2F%[Link]%2Fbooks%3Fid%3DnneBa6-mWfgC%26q%3DThe%2Bimmediate
%2Bconcern%2Bat%2BNetscape%2Bwas%2Bit%2Bmust%2Blook%2Blike%2BJava.%26pg
%3DPA141&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-origin-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-origin_6-0"><span


class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-origin_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-origin_6-
2"><sup><i><b>c</b></i></sup></a> <a
href="#cite_ref-origin_6-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-origin_6-
4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web
cs1"><a rel="nofollow" class="external text" href="[Link]
4. How JavaScript Was Created"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 27 February 2020<span class="reference-
accessdate">. Retrieved <span class="nowrap">21 November</span> 2017</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Chapter+4.+Ho
w+JavaScript+Was+Created&amp;rft_id=https%3A%2F%[Link]
%2Fes5%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7" aria-label="Jump up"


title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-
style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] – Brendan Eich"</a>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Popularity+
%E2%80%93+Brendan+Eich&amp;rft_id=https%3A%2F%[Link]
%2F2008%2F04%2Fpopularity%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>
</li>

<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8" aria-label="Jump up"


title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-
style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
v=1EyRscXrehw">"Brendan Eich: An Introduction to JavaScript, JSConf 2010"</a>. <i><a
href="/wiki/YouTube" title="YouTube">YouTube</a></i>. p.&nbsp;22m. <a rel="nofollow"
class="external text"
href="[Link]
v=1EyRscXrehw">Archived</a> from the original on 29 August 2020<span class="reference-
accessdate">. Retrieved <span class="nowrap">25 November</span> 2019</span>. <q>Eich:
"function", eight letters, I was influenced by AWK.</q></cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=YouTube&amp;[Link]=Brendan+Eich
%3A+An+Introduction+to+JavaScript%2C+JSConf+2010&amp;[Link]=22m&amp;rft_id=https%3A
%2F%[Link]%2Fwatch%3Fv%3D1EyRscXrehw&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9" aria-label="Jump up"


title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-
style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFEich1998" class="citation
book cs1"><a href="/wiki/Brendan_Eich" title="Brendan Eich">Eich, Brendan</a> (1998).
"Foreword". In <a href="/wiki/Danny_Goodman" title="Danny Goodman">Goodman, Danny</a>
(ed.). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow"
class="external text" href="[Link]
Bible</i></a></span> (3rd&nbsp;ed.). <a href="/wiki/John_Wiley_%26_Sons" class="mw-redirect"
title="John Wiley &amp; Sons">John Wiley &amp; Sons</a>. <a href="/wiki/ISBN_(identifier)"
class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a href="/wiki/Special:BookSources/0-
7645-3188-3" title="Special:BookSources/0-7645-3188-3"><bdi>0-7645-3188-3</bdi></a>. <a
href="/wiki/LCCN_(identifier)" class="mw-redirect" title="LCCN (identifier)">LCCN</a>&nbsp;<a
rel="nofollow" class="external text" href="[Link] <a
href="/wiki/OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a>&nbsp;<a
rel="nofollow" class="external text"
href="[Link] <a href="/wiki/OL_(identifier)"
class="mw-redirect" title="OL (identifier)">OL</a>&nbsp;<a rel="nofollow" class="external text"
href="[Link]
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=bookitem&amp;[Link]=Foreword&amp;[Link]=JavaScript+Bible&amp;
[Link]=3rd&amp;[Link]=John+Wiley+%26+Sons&amp;[Link]=1998&amp;rft_id=info
%3Aoclcnum%2F38888873&amp;rft_id=info%3Alccn%2F97078208&amp;rft_id=https%3A%2F
%[Link]%2Fbooks%2FOL712205M%23id-name%3DOL&amp;[Link]=0-7645-3188-
3&amp;[Link]=Eich&amp;[Link]=Brendan&amp;rft_id=https%3A%2F%[Link]
%2Fdetails%2Fjavascriptbible000good&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>
<li id="cite_note-deployedstats-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-
deployedstats_10-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-deployedstats_10-1"><sup><i><b>b</b></i></sup></a></span> <span
class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a rel="nofollow" class="external
text" href="[Link] Statistics of JavaScript
as Client-side Programming Language on Websites"</a>. <i>W3Techs</i><span class="reference-
accessdate">. Retrieved <span class="nowrap">27 February</span> 2024</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=W3Techs&amp;[Link]=Usage+Statistics+of+Ja
vaScript+as+Client-side+Programming+Language+on+Websites&amp;rft_id=https%3A%2F
%[Link]%2Ftechnologies%2Fdetails%2Fcp-javascript&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-tc39-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-tc39_11-0" aria-


label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web
cs1"><a rel="nofollow" class="external text" href="[Link]
overview">"ECMAScript 2020 Language Specification"</a>. <a rel="nofollow" class="external text"
href="[Link]
overview">Archived</a> from the original on 8 May 2020<span class="reference-accessdate">.
Retrieved <span class="nowrap">8 May</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=ECMAScript+2020+Language+Specification&amp
;rft_id=https%3A%2F%[Link]%2Fecma262%2F%23sec-overview&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation news cs1"><a
rel="nofollow" class="external text"
href="[Link] Game Changers: Marc
Andreessen"</a>. <i><a href="/wiki/Bloomberg_L.P." title="Bloomberg L.P.">Bloomberg</a></i>.
Bloomberg. 17 March 2011. <a rel="nofollow" class="external text"
href="[Link]
67758394/">Archived</a> from the original on 16 May 2012<span class="reference-accessdate">.
Retrieved <span class="nowrap">7 December</span> 2011</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Bloomberg&amp;[Link]=Bloomberg+Game+Cha
ngers%3A+Marc+Andreessen&amp;[Link]=2011-03-17&amp;rft_id=https%3A%2F
%[Link]%2Fvideo%2F67758394&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFEnzer2018"
class="citation web cs1">Enzer, Larry (31 August 2018). <a rel="nofollow" class="external text"
href="[Link]
[Link]">"The Evolution of the Web Browsers"</a>. <i>Monmouth Web
Developers</i>. Archived from <a rel="nofollow" class="external text"
href="[Link] original</a> on 31
August 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">31
August</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Monmouth+Web+Developers&amp;[Link]=T
he+Evolution+of+the+Web+Browsers&amp;[Link]=2018-08-
31&amp;[Link]=Enzer&amp;[Link]=Larry&amp;rft_id=https%3A%2F
%[Link]%[Link]&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-EichVideo-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-EichVideo_14-


0"><span class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-EichVideo_14-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-
EichVideo_14-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link
rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFFin_JS2016" class="citation cs2">Fin JS (17 June 2016), <a rel="nofollow" class="external
text" href="[Link] Eich&nbsp;– CEO of
Brave"</a>, <i>YouTube</i><span class="reference-accessdate">, retrieved <span class="nowrap">7
February</span> 2018</span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info
%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=YouTube&amp;[Link]=Brendan+Eich+
%E2%80%93+CEO+of+Brave&amp;[Link]=2016-06-17&amp;[Link]=Fin+JS&amp;rft_id=https%3A
%2F%[Link]%2Fwatch%3Fv%3DXOmhtfTrRxc&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">"Netscape Communications
Corp.", Browser enhancements. Encyclopædia Britannica 2006 Ultimate Reference Suite DVD</span>

</li>

<li id="cite_note-techvision-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-


techvision_16-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
class="citation web cs1"><a rel="nofollow" class="external text"
href="[Link]
techvision/innovators_be.html">"TechVision: Innovators of the Net: Brendan Eich and
JavaScript"</a>. Archived from <a rel="nofollow" class="external text"
href="[Link] original</a>
on 8 February 2008.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt
%3Akev%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=TechVision
%3A+Innovators+of+the+Net%3A+Brendan+Eich+and+JavaScript&amp;rft_id=https%3A%2F
%[Link]%2Fcomprod%2Fcolumns%2Ftechvision
%2Finnovators_be.html&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-sjsch5-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-sjsch5_17-


0"><span class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-sjsch5_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
class="citation web cs1"><a rel="nofollow" class="external text"
href="[Link]
[Link]">"Chapter 5. Standardization: ECMAScript"</a>. <i>[Link]</i>. Archived from <a
rel="nofollow" class="external text" href="[Link] original</a>
on 1 November 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">1
November</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info
%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Chapter+5.+Sta
ndardization%3A+ECMAScript&amp;rft_id=https%3A%2F%[Link]
%2Fes5%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-O'Reilly-2001-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-O'Reilly-


2001_18-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-O'Reilly-2001_18-1"><sup><i><b>b</b></i></sup></a></span> <span
class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><cite id="CITEREFChampeon2001" class="citation web
cs1">Champeon, Steve (6 April 2001). <a rel="nofollow" class="external text"
href="[Link]
2001/04/06/js_history.html">"JavaScript, How Did We Get Here?"</a>. <i>[Link]</i>. Archived
from <a rel="nofollow" class="external text"
href="[Link] original</a> on
19 July 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">16 July</span>
2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=JavaScript
%2C+How+Did+We+Get+Here%3F&amp;[Link]=2001-04-
06&amp;[Link]=Champeon&amp;[Link]=Steve&amp;rft_id=https%3A%2F
%[Link]%2Fpub%2Fa%2Fjavascript
%2F2001%2F04%2F06%2Fjs_history.html&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
internet-explorer-3-0-beta-now-available/">"Microsoft Internet Explorer 3.0 Beta Now
Available"</a>. <i>[Link]</i>. Microsoft. 29 May 1996. <a rel="nofollow" class="external
text" href="[Link]
1996/05/29/microsoft-internet-explorer-3-0-beta-now-available/">Archived</a> from the original on
24 November 2020<span class="reference-accessdate">. Retrieved <span class="nowrap">16
July</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Microsoft+Intern
et+Explorer+3.0+Beta+Now+Available&amp;[Link]=1996-05-29&amp;rft_id=https%3A%2F
%[Link]%2F1996%2F05%2F29%2Fmicrosoft-internet-explorer-3-0-beta-now-
available%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFMcCracken2010"
class="citation web cs1">McCracken, Harry (16 September 2010). <a rel="nofollow" class="external
text" href="[Link]
with-internet-explorer/">"The Unwelcome Return of "Best Viewed with Internet Explorer"<span
class="cs1-kern-right"></span>"</a>. <i>[Link]</i>. <a rel="nofollow" class="external
text" href="[Link]
2010/09/16/the-unwelcome-return-of-best-viewed-with-internet-explorer/">Archived</a> from the
original on 23 June 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">16
July</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=The+Unwelc
ome+Return+of+%22Best+Viewed+with+Internet+Explorer%22&amp;[Link]=2010-09-
16&amp;[Link]=McCracken&amp;[Link]=Harry&amp;rft_id=https%3A%2F
%[Link]%2F2010%2F09%2F16%2Fthe-unwelcome-return-of-best-viewed-with-
internet-explorer%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-[Link]-21"><span class="mw-cite-backlink"><b><a


href="#cite_ref-searchenginejournal.com_21-0" aria-label="Jump up" title="Jump
up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style"
href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFBaker2004" class="citation news
cs1">Baker, Loren (24 November 2004). <a rel="nofollow" class="external text"
href="[Link]
to-74/1082/">"Mozilla Firefox Internet Browser Market Share Gains to 7.4%"</a>. <i>Search Engine
Journal</i>. <a rel="nofollow" class="external text"
href="[Link]
mozilla-firefox-internet-browser-market-share-gains-to-74/1082/">Archived</a> from the original on
7 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">8 May</span>
2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Search+Engine+Journal&amp;[Link]=Mozilla+Fir
efox+Internet+Browser+Market+Share+Gains+to+7.4%25&amp;[Link]=2004-11-
24&amp;[Link]=Baker&amp;[Link]=Loren&amp;rft_id=https%3A%2F
%[Link]%2Fmozilla-firefox-internet-browser-market-share-gains-to-
74%2F1082%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFWeber2005"
class="citation news cs1">Weber, Tim (9 May 2005). <a rel="nofollow" class="external text"
href="[Link]
[Link]">"The assault on software giant Microsoft"</a>. <i><a href="/wiki/BBC_News"
title="BBC News">BBC News</a></i>. Archived from <a rel="nofollow" class="external text"
href="[Link] original</a> on 25 September
2017.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=BBC+News&amp;[Link]=The+assault+on+softwa
re+giant+Microsoft&amp;[Link]=2005-05-
09&amp;[Link]=Weber&amp;[Link]=Tim&amp;rft_id=https%3A%2F%[Link]
%2F2%2Fhi%2Fbusiness%[Link]&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
browser-comparison-test-Internet-Explorer-vs-Firefox-Opera-Safari-and-Chrome-Update-Firefox-35-
Final/Practice/">"Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and
Chrome"</a>. <i>PC Games Hardware</i>. Computec Media AG. 3 July 2009. <a rel="nofollow"
class="external text"
href="[Link]
aid,687738/Big-browser-comparison-test-Internet-Explorer-vs-Firefox-Opera-Safari-and-Chrome-
Update-Firefox-35-Final/Practice/">Archived</a> from the original on 2 May 2012<span
class="reference-accessdate">. Retrieved <span class="nowrap">28 June</span>
2010</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=PC+Games+Hardware&amp;[Link]=Big+brow
ser+comparison+test%3A+Internet+Explorer+vs.+Firefox%2C+Opera
%2C+Safari+and+Chrome&amp;[Link]=2009-07-03&amp;rft_id=https%3A%2F
%[Link]%2Faid%2C687738%2FBig-browser-comparison-test-Internet-
Explorer-vs-Firefox-Opera-Safari-and-Chrome-Update-Firefox-35-Final%2FPractice
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFPurdy2009"
class="citation web cs1">Purdy, Kevin (11 June 2009). <a rel="nofollow" class="external text"
href="[Link]
5286869">"Lifehacker Speed Tests: Safari 4, Chrome 2"</a>. <i><a href="/wiki/Lifehacker"
title="Lifehacker">Lifehacker</a></i>. <a rel="nofollow" class="external text"
href="[Link]
safari-4-chrome-2-and-more-5286869">Archived</a> from the original on 14 April 2021<span
class="reference-accessdate">. Retrieved <span class="nowrap">8 May</span>
2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Lifehacker&amp;[Link]=Lifehacker+Speed+Te
sts%3A+Safari+4%2C+Chrome+2&amp;[Link]=2009-06-
11&amp;[Link]=Purdy&amp;[Link]=Kevin&amp;rft_id=https%3A%2F%[Link]
%2Flifehacker-speed-tests-safari-4-chrome-2-and-more-5286869&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
javascript-lightspeed/">"TraceMonkey: JavaScript Lightspeed, Brendan Eich's Blog"</a>. <a
rel="nofollow" class="external text"
href="[Link]
tracemonkey-javascript-lightspeed/">Archived</a> from the original on 4 December 2015<span
class="reference-accessdate">. Retrieved <span class="nowrap">22 July</span>
2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=TraceMonkey
%3A+JavaScript+Lightspeed%2C+Brendan+Eich%27s+Blog&amp;rft_id=https%3A%2F
%[Link]%2F2008%2F08%2Ftracemonkey-javascript-lightspeed%2F&amp;rfr_id=info
%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation magazine cs1"><a
rel="nofollow" class="external text" href="[Link]
fast-yet/">"Mozilla asks, 'Are we fast yet?'<span class="cs1-kern-right"></span>"</a>. <i>Wired</i>.
<a rel="nofollow" class="external text"
href="[Link]
asks-are-we-fast-yet/">Archived</a> from the original on 22 June 2018<span class="reference-
accessdate">. Retrieved <span class="nowrap">18 January</span> 2019</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Wired&amp;[Link]=Mozilla+asks%2C+
%27Are+we+fast+yet%3F%27&amp;rft_id=https%3A%2F%[Link]
%2F2010%2F09%2Fmozilla-asks-are-we-fast-yet%2F&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] 6: New Features:
Overview and Comparison"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link] from
the original on 18 March 2018<span class="reference-accessdate">. Retrieved <span
class="nowrap">19 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=es6-
[Link]&amp;[Link]=ECMAScript+6%3A+New+Features
%3A+Overview+and+Comparison&amp;rft_id=https%3A%2F%[Link]
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link]
id=ZH6bpbcrlvYC&amp;q=nodejs">Professional [Link]: Building JavaScript Based Scalable
Software</a> <a rel="nofollow" class="external text"
href="[Link]
id=ZH6bpbcrlvYC&amp;printsec=frontcover&amp;dq=nodejs&amp;hl=en&amp;sa=X#v=onepage&a
mp;q=nodejs&amp;f=false">Archived</a> 2017-03-24 at the <a href="/wiki/Wayback_Machine"
title="Wayback Machine">Wayback Machine</a>, John Wiley &amp; Sons, 01-Oct-2012</span>

</li>

<li id="cite_note-b3-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-b3_29-0" aria-


label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link]
FxUEj48C&amp;dq=nodejs&amp;pg=PT24">Sams Teach Yourself [Link] in 24 Hours</a> <a
rel="nofollow" class="external text"
href="[Link]
FxUEj48C&amp;pg=PT24&amp;dq=nodejs&amp;hl=en&amp;sa=X#v=onepage&amp;q=nodejs&amp;
f=false">Archived</a> 2017-03-23 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a>, Sams Publishing, 05-Sep-2012</span>

</li>

<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFLawton2018"
class="citation web cs1">Lawton, George (19 July 2018). <a rel="nofollow" class="external text"
href="[Link]
history-behind-the-success-of-npm-and-Node">"The secret history behind the success of npm and
Node"</a>. <i>TheServerSide</i>. <a rel="nofollow" class="external text"
href="[Link]
Talk-Java-News-Stories-and-Opinions/The-secret-history-behind-the-success-of-npm-and-
Node">Archived</a> from the original on 2 August 2021<span class="reference-accessdate">.
Retrieved <span class="nowrap">2 August</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=TheServerSide&amp;[Link]=The+secret+histo
ry+behind+the+success+of+npm+and+Node&amp;[Link]=2018-07-
19&amp;[Link]=Lawton&amp;[Link]=George&amp;rft_id=https%3A%2F
%[Link]%2Fblog%2FCoffee-Talk-Java-News-Stories-and-Opinions%2FThe-secret-
history-behind-the-success-of-npm-and-Node&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFBrown2017"
class="citation web cs1">Brown, Paul (13 January 2017). <a rel="nofollow" class="external text"
href="[Link] of the Union: npm"</a>.
<i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
npm/">Archived</a> from the original on 2 August 2021<span class="reference-accessdate">.
Retrieved <span class="nowrap">2 August</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=State+of+the+Union
%3A+npm&amp;[Link]=2017-01-13&amp;[Link]=Brown&amp;[Link]=Paul&amp;rft_id=https
%3A%2F%[Link]%2Fnews%2Fstate-union-npm%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-branscombe-32"><span class="mw-cite-backlink">^ <a href="#cite_ref-


branscombe_32-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-branscombe_32-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-
branscombe_32-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link
rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFBranscombe2016" class="citation web cs1">Branscombe, Mary (4 May 2016). <a
rel="nofollow" class="external text" href="[Link]
Standard Moves to Yearly Release Schedule; Here is What's New for ES16"</a>. <i>The New
Stack</i>. <a rel="nofollow" class="external text"
href="[Link]
es2016/">Archived</a> from the original on 16 January 2021<span class="reference-accessdate">.
Retrieved <span class="nowrap">15 January</span> 2021</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=The+New+Stack&amp;[Link]=JavaScript+Stan
dard+Moves+to+Yearly+Release+Schedule%3B+Here+is+What
%27s+New+for+ES16&amp;[Link]=2016-05-
04&amp;[Link]=Branscombe&amp;[Link]=Mary&amp;rft_id=https%3A%2F%[Link]
%2Fwhats-new-es2016%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] TC39
Process"</a>. <i>[Link]</i>. Ecma International. <a rel="nofollow" class="external text"
href="[Link]
document/">Archived</a> from the original on 7 February 2021<span class="reference-
accessdate">. Retrieved <span class="nowrap">15 January</span> 2021</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=The+TC39+Process&am
p;rft_id=https%3A%2F%[Link]%2Fprocess-document%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] proposals"</a>.
TC39. <a rel="nofollow" class="external text"
href="[Link]
master/[Link]">Archived</a> from the original on 4 December 2020<span class="reference-
accessdate">. Retrieved <span class="nowrap">15 January</span> 2021</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=ECMAScript+proposals&amp;[Link]=TC39&amp
;rft_id=https%3A%2F%[Link]%2Ftc39%2Fproposals%2Fblob%2Fmaster
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-transpilers-35"><span class="mw-cite-backlink">^ <a href="#cite_ref-


transpilers_35-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-transpilers_35-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFAshkenas" class="citation web cs1"><a href="/wiki/Jeremy_Ashkenas" title="Jeremy
Ashkenas">Ashkenas, Jeremy</a>. <a rel="nofollow" class="external text"
href="[Link] of
languages that compile to JS"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i>. <a
rel="nofollow" class="external text"
href="[Link]
wiki/List-of-languages-that-compile-to-JS">Archived</a> from the original on 31 January 2020<span
class="reference-accessdate">. Retrieved <span class="nowrap">6 February</span>
2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=GitHub&amp;[Link]=List+of+languages+that+
compile+to+JS&amp;[Link]=Ashkenas&amp;[Link]=Jeremy&amp;rft_id=https%3A%2F
%[Link]%2Fjashkenas%2Fcoffeescript%2Fwiki%2FList-of-languages-that-compile-to-
JS&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
=statusSearch">"U.S. Trademark Serial No. 75026640"</a>. <i>[Link]</i>. <a
href="/wiki/United_States_Patent_and_Trademark_Office" title="United States Patent and
Trademark Office">United States Patent and Trademark Office</a>. 6 May 1997. <a rel="nofollow"
class="external text" href="[Link]
#caseNumber=75026640&amp;caseType=SERIAL_NO&amp;searchType=statusSearch">Archived</a>
from the original on 13 July 2021<span class="reference-accessdate">. Retrieved <span
class="nowrap">8 May</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=U.S.
+Trademark+Serial+No.+75026640&amp;[Link]=1997-05-06&amp;rft_id=https%3A%2F
%[Link]%2F%23caseNumber%3D75026640%26caseType%3DSERIAL_NO%26searchType
%3DstatusSearch&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
Notices"</a>. <i>[Link]</i>. <a href="/wiki/Oracle_Corporation" title="Oracle
Corporation">Oracle Corporation</a>. <a rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 5 June 2021<span class="reference-
accessdate">. Retrieved <span class="nowrap">8 May</span> 2021</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Legal+Notices&amp;
rft_id=https%3A%2F%[Link]%2Flegal%[Link]&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation news cs1"><a
rel="nofollow" class="external text"
href="[Link]
articleshow/[Link]">"Oracle to buy Sun in $7.4-bn deal"</a>. <i>The Economic Times</i>. 21
April 2009.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=The+Economic+Times&amp;[Link]=Oracle+to+b
uy+Sun+in+%247.4-bn+deal&amp;[Link]=2009-04-21&amp;rft_id=https%3A%2F
%[Link]%2Ftech%2Fsoftware%2Foracle-to-buy-sun-in-7-4-bn-deal
%2Farticleshow%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-lib_usage-39"><span class="mw-cite-backlink">^ <a href="#cite_ref-lib_usage_39-


0"><span class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-lib_usage_39-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-lib_usage_39-
2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web
cs1"><a rel="nofollow" class="external text"
href="[Link] statistics of JavaScript
libraries for websites"</a>. <i>W3Techs</i><span class="reference-accessdate">. Retrieved <span
class="nowrap">9 April</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=W3Techs&amp;[Link]=Usage+statistics+of+Ja
vaScript+libraries+for+websites&amp;rft_id=https%3A%2F%[Link]%2Ftechnologies
%2Foverview%2Fjavascript_library&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
bootstrap/">"Using jQuery with Bootstrap"</a>. <i>[Link]</i><span class="reference-
accessdate">. Retrieved <span class="nowrap">17 March</span> 2024</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Using+jQuery+w
ith+Bootstrap&amp;rft_id=https%3A%2F%[Link]%2Fjquery%2Fweb-projects-with-
bootstrap%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] JS"</a>. <i>vanilla-
[Link]</i>. 16 June 2020. <a rel="nofollow" class="external text"
href="[Link] from
the original on 16 June 2020<span class="reference-accessdate">. Retrieved <span
class="nowrap">17 June</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=vanilla-
[Link]&amp;[Link]=Vanilla+JS&amp;[Link]=2020-06-16&amp;rft_id=https%3A%2F%2Fvanilla-
[Link]%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] JavaScript
Guide"</a>. <i>[Link]</i>. <a href="/wiki/Oracle_Corporation" title="Oracle
Corporation">Oracle Corporation</a>. 11 December 1998. <a rel="nofollow" class="external text"
href="[Link]
6411-10/[Link]">Archived</a> from the original on 11 March 2021<span class="reference-
accessdate">. Retrieved <span class="nowrap">8 May</span> 2021</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Server-
Side+JavaScript+Guide&amp;[Link]=1998-12-11&amp;rft_id=https%3A%2F%[Link]
%2Fcd%2FE19957-01%2F816-6411-10%[Link]&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFClinick2000"
class="citation web cs1">Clinick, Andrew (14 July 2000). <a rel="nofollow" class="external text"
href="[Link] JScript .NET"</a>.
<i>Microsoft Developer Network</i>. Microsoft. <a rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 10 November 2017<span class="reference-
accessdate">. Retrieved <span class="nowrap">10 April</span> 2018</span>. <q>[S]ince the 1996
introduction of JScript version 1.0 ... we've been seeing a steady increase in the usage of JScript on
the server—particularly in Active Server Pages (ASP)</q></cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Microsoft+Developer+Network&amp;[Link]=I
ntroducing+JScript+.NET&amp;[Link]=2000-07-
14&amp;[Link]=Clinick&amp;[Link]=Andrew&amp;rft_id=https%3A%2F
%[Link]%2Fen-us%2Flibrary%[Link]&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>
<li id="cite_note-2009server-44"><span class="mw-cite-backlink">^ <a href="#cite_ref-
2009server_44-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-2009server_44-1"><sup><i><b>b</b></i></sup></a></span> <span
class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><cite id="CITEREFMahemoff,_Michael2009" class="citation web
cs1">Mahemoff, Michael (17 December 2009). <a rel="nofollow" class="external text"
href="[Link]
side_javascript_back_with_a_vengeance/">"Server-Side JavaScript, Back with a Vengeance"</a>.
<i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
side_javascript_back_with_a_vengeance/">Archived</a> from the original on 17 June 2016<span
class="reference-accessdate">. Retrieved <span class="nowrap">16 July</span>
2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Server-
Side+JavaScript%2C+Back+with+a+Vengeance&amp;[Link]=2009-12-17&amp;[Link]=Mahemoff
%2C+Michael&amp;rft_id=https%3A%2F%[Link]%2F2009%2F12%2F17%2Fserver-
side_javascript_back_with_a_vengeance%2F&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] for Acrobat"</a>.
<i>[Link]</i>. 7 August 2009. <a rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 7 August 2009<span class="reference-
accessdate">. Retrieved <span class="nowrap">18 August</span> 2009</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=JavaScript+for+Acro
bat&amp;[Link]=2009-08-07&amp;rft_id=https%3A%2F%[Link]%2Fdevnet
%2Facrobat%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFtreitter2013"
class="citation web cs1">treitter (2 February 2013). <a rel="nofollow" class="external text"
href="[Link] the question: "How do I develop an
app for GNOME?"<span class="cs1-kern-right"></span>"</a>. <i>[Link]</i>. <a
rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 11 February 2013<span class="reference-
accessdate">. Retrieved <span class="nowrap">7 February</span> 2013</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Answering+the
+question%3A+%22How+do+I+develop+an+app+for+GNOME%3F%22&amp;[Link]=2013-02-
02&amp;[Link]=treitter&amp;rft_id=https%3A%2F%[Link]
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-47" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] 2... Leverage all the libraries of
[Link] to create useful devices in minutes with Tessel"</a>. <i>[Link]</i>. <a rel="nofollow"
class="external text"
href="[Link] from the
original on 26 May 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">8
May</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Tessel+2...+Leverage+al
l+the+libraries+of+[Link]+to+create+useful+devices+in+minutes+with+Tessel.&amp;rft_id=https
%3A%2F%[Link]%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] Raspberry
Pi GPIO Introduction"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
nodejs_raspberrypi_gpio_intro.asp">Archived</a> from the original on 13 August 2021<span
class="reference-accessdate">. Retrieved <span class="nowrap">3 May</span>
2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=[Link]+Raspbe
rry+Pi+GPIO+Introduction&amp;rft_id=https%3A%2F%[Link]%2Fnodejs
%2Fnodejs_raspberrypi_gpio_intro.asp&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
JavaScript for Microcontrollers"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
from the original on 1 May 2020<span class="reference-accessdate">. Retrieved <span
class="nowrap">3 May</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Espruino+
%E2%80%93+JavaScript+for+Microcontrollers&amp;rft_id=https%3A%2F%[Link]
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-50" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFLooper2015"
class="citation web cs1">Looper, Jen (21 September 2015). <a rel="nofollow" class="external text"
href="[Link]
guide-to-javascript-engines-for-idiots/">"A Guide to JavaScript Engines for Idiots"</a>. <a
href="/wiki/Telerik" title="Telerik">Telerik</a> Developer Network. Archived from <a rel="nofollow"
class="external text" href="[Link]
idiots/">the original</a> on 8 December 2018<span class="reference-accessdate">. Retrieved <span
class="nowrap">8 December</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=A+Guide+to+JavaScript+Engines+for+Idiots&amp
;[Link]=Telerik+Developer+Network&amp;[Link]=2015-09-
21&amp;[Link]=Looper&amp;[Link]=Jen&amp;rft_id=http%3A%2F%[Link]
%2Ffeatured%2Fa-guide-to-javascript-engines-for-idiots%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
How Blink Works"</a>. Google<span class="reference-accessdate">. Retrieved <span
class="nowrap">12 March</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=How+Blink+Works&amp;[Link]=Google&amp;r
ft_id=https%3A%2F%[Link]%2Fdocument%2Fd
%2F1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-JavaScript_engine_v8_doc-52"><span class="mw-cite-backlink">^ <a


href="#cite_ref-JavaScript_engine_v8_doc_52-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-JavaScript_engine_v8_doc_52-
1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web
cs1"><a rel="nofollow" class="external text" href="[Link] · V8"</a>.
Google<span class="reference-accessdate">. Retrieved <span class="nowrap">3 March</span>
2024</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=Documentation+
%C2%B7+V8&amp;[Link]=Google&amp;rft_id=https%3A%2F%[Link]%2Fdocs&amp;rfr_id=info
%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-JavaScript_engine_Wasm-53"><span class="mw-cite-backlink"><b><a


href="#cite_ref-JavaScript_engine_Wasm_53-0" aria-label="Jump up" title="Jump
up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style"
href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFNelaturu" class="citation web
cs1">Nelaturu, Keerthi. <a rel="nofollow" class="external text"
href="[Link]
662396ff1cd6">"WebAssembly: What's the big deal?"</a>. <i>[Link]</i><span
class="reference-accessdate">. Retrieved <span class="nowrap">3 March</span>
2024</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=WebAssembly
%3A+What%E2%80%99s+the+big+deal
%3F&amp;[Link]=Nelaturu&amp;[Link]=Keerthi&amp;rft_id=https%3A%2F%[Link]
%2Fcoinmonks%2Fwebassembly-whats-the-big-deal-662396ff1cd6&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] model
and Event Loop"</a>. <i>Mozilla Developer Network</i>. <a rel="nofollow" class="external text"
href="[Link]
Web/JavaScript/EventLoop">Archived</a> from the original on 5 September 2015<span
class="reference-accessdate">. Retrieved <span class="nowrap">28 August</span>
2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Mozilla+Developer+Network&amp;[Link]=Co
ncurrency+model+and+Event+Loop&amp;rft_id=https%3A%2F%[Link]%2Fen-US
%2Fdocs%2FWeb%2FJavaScript%2FEventLoop&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-Flanagan2006-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-


Flanagan2006_55-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span
class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><cite id="CITEREFFlanagan2006" class="citation book
cs1">Flanagan, David (17 August 2006). <a rel="nofollow" class="external text"
href="[Link] The Definitive Guide: The
Definitive Guide</i></a>. "O'Reilly Media, Inc.". p.&nbsp;16. <a href="/wiki/ISBN_(identifier)"
class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/978-0-596-55447-7" title="Special:BookSources/978-0-596-55447-
7"><bdi>978-0-596-55447-7</bdi></a>. <a rel="nofollow" class="external text"
href="[Link]
id=2weL0iAfrEMC">Archived</a> from the original on 1 August 2020<span class="reference-
accessdate">. Retrieved <span class="nowrap">29 March</span> 2019</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=JavaScript%3A+The+Definitive+Guide
%3A+The+Definitive+Guide&amp;[Link]=16&amp;[Link]=%22O%27Reilly+Media%2C+Inc.
%22&amp;[Link]=2006-08-17&amp;[Link]=978-0-596-55447-
7&amp;[Link]=Flanagan&amp;[Link]=David&amp;rft_id=https%3A%2F%[Link]
%2Fbooks%3Fid%3D2weL0iAfrEMC&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-casting_rules-56"><span class="mw-cite-backlink">^ <a href="#cite_ref-


casting_rules_56-0"><span class="cite-accessibility-label">Jump up to:
</span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-casting_rules_56-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-
casting_rules_56-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-casting_rules_56-
3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFKorolev2019" class="citation web cs1">Korolev, Mikhail (1 March 2019). <a
rel="nofollow" class="external text" href="[Link]
the-internet-52m7">"JavaScript quirks in one image from the Internet"</a>. <i>The DEV
Community</i>. <a rel="nofollow" class="external text"
href="[Link]
image-from-the-internet-52m7">Archived</a> from the original on 28 October 2019<span
class="reference-accessdate">. Retrieved <span class="nowrap">28 October</span>
2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=The+DEV+Community&amp;[Link]=JavaScrip
t+quirks+in+one+image+from+the+Internet&amp;[Link]=2019-03-
01&amp;[Link]=Korolev&amp;[Link]=Mikhail&amp;rft_id=https%3A%2F%[Link]%2Fmkrl
%2Fjavascript-quirks-in-one-image-from-the-internet-52m7&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-57"><span class="mw-cite-backlink"><b><a href="#cite_ref-57" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFBernhardt2012"
class="citation web cs1">Bernhardt, Gary (2012). <a rel="nofollow" class="external text"
href="[Link] <i>Destroy All Software</i>. <a
rel="nofollow" class="external text"
href="[Link]
wat">Archived</a> from the original on 28 October 2019<span class="reference-accessdate">.
Retrieved <span class="nowrap">28 October</span> 2019</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Destroy+All+Software&amp;[Link]=Wat&am
p;[Link]=2012&amp;[Link]=Bernhardt&amp;[Link]=Gary&amp;rft_id=https%3A%2F
%[Link]%2Ftalks%2Fwat&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] data
types and data structures"</a>. <i>MDN</i>. 16 February 2017. <a rel="nofollow" class="external
text" href="[Link]
docs/Web/JavaScript/Data_structures">Archived</a> from the original on 14 March 2017<span
class="reference-accessdate">. Retrieved <span class="nowrap">24 February</span>
2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=MDN&amp;[Link]=JavaScript+data+types+an
d+data+structures&amp;[Link]=2017-02-16&amp;rft_id=https%3A%2F%[Link]
%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FData_structures&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-FOOTNOTEFlanagan2006176–178-59"><span class="mw-cite-backlink"><b><a


href="#cite_ref-FOOTNOTEFlanagan2006176–178_59-0" aria-label="Jump up" title="Jump
up">^</a></b></span> <span class="reference-text"><a href="#CITEREFFlanagan2006">Flanagan
2006</a>, pp.&nbsp;176–178.</span>

</li>

<li id="cite_note-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-60" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFCrockford"
class="citation web cs1">Crockford, Douglas. <a rel="nofollow" class="external text"
href="[Link] Inheritance in JavaScript"</a>.
<a rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> from the original on 13 August 2013<span class="reference-
accessdate">. Retrieved <span class="nowrap">20 August</span> 2013</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Prototypal+Inheritance+in+JavaScript&amp;rft.a
ulast=Crockford&amp;[Link]=Douglas&amp;rft_id=https%3A%2F%[Link]
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>
<li id="cite_note-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-61" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
hain">"Inheritance and the prototype chain"</a>. <i><a href="/wiki/Mozilla"
title="Mozilla">Mozilla</a> Developer Network</i>. <a rel="nofollow" class="external text"
href="[Link]
JavaScript/Guide/Inheritance_and_the_prototype_chain">Archived</a> from the original on 25 April
2013<span class="reference-accessdate">. Retrieved <span class="nowrap">6 April</span>
2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Mozilla+Developer+Network&amp;[Link]=In
heritance+and+the+prototype+chain&amp;rft_id=https%3A%2F%[Link]%2Fen-US
%2Fdocs%2FJavaScript%2FGuide%2FInheritance_and_the_prototype_chain&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFHerman2013"
class="citation book cs1">Herman, David (2013). <a rel="nofollow" class="external text"
href="[Link]
JavaScript</i></a>. Addison-Wesley. p.&nbsp;83. <a href="/wiki/ISBN_(identifier)" class="mw-
redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a href="/wiki/Special:BookSources/978-0-321-
81218-6" title="Special:BookSources/978-0-321-81218-6"><bdi>978-0-321-81218-6</bdi></a>.</
cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=Effective+JavaScript&amp;[Link]=83&amp;[Link]
=Addison-Wesley&amp;[Link]=2013&amp;[Link]=978-0-321-81218-
6&amp;[Link]=Herman&amp;[Link]=David&amp;rft_id=https%3A%2F%[Link]
%2Fbooks%3Fid%3DNz9iAwAAQBAJ%26pg%3DPA83&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-63" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFHaverbeke2011"
class="citation book cs1">Haverbeke, Marijn (2011). <a rel="nofollow" class="external text"
href="[Link]
JavaScript</i></a>. No Starch Press. pp.&nbsp;95–97. <a href="/wiki/ISBN_(identifier)" class="mw-
redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a href="/wiki/Special:BookSources/978-1-59327-
282-1" title="Special:BookSources/978-1-59327-282-1"><bdi>978-1-59327-282-1</bdi></a>.</
cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=Eloquent+JavaScript&amp;[Link]=95-
97&amp;[Link]=No+Starch+Press&amp;[Link]=2011&amp;[Link]=978-1-59327-282-
1&amp;[Link]=Haverbeke&amp;[Link]=Marijn&amp;rft_id=https%3A%2F
%[Link]%2Fbooks%3Fid%3D9U5I_tskq9MC%26pg%3DPA95&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-64" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFKatz2011"
class="citation web cs1">Katz, Yehuda (12 August 2011). <a rel="nofollow" class="external text"
href="[Link]
javascript/">"Understanding "Prototypes" in JavaScript"</a>. <a rel="nofollow" class="external text"
href="[Link]
understanding-prototypes-in-javascript/">Archived</a> from the original on 5 April 2013<span
class="reference-accessdate">. Retrieved <span class="nowrap">6 April</span>
2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=Understanding+%22Prototypes
%22+in+JavaScript&amp;[Link]=2011-08-
12&amp;[Link]=Katz&amp;[Link]=Yehuda&amp;rft_id=https%3A%2F%[Link]
%2F2011%2F08%2F12%2Funderstanding-prototypes-in-javascript%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-65"><span class="mw-cite-backlink"><b><a href="#cite_ref-65" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFHerman2013"
class="citation book cs1">Herman, David (2013). <a rel="nofollow" class="external text"
href="[Link]
JavaScript</i></a>. Addison-Wesley. pp.&nbsp;125–127. <a href="/wiki/ISBN_(identifier)"
class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/978-0-321-81218-6" title="Special:BookSources/978-0-321-81218-
6"><bdi>978-0-321-81218-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=Effective+JavaScript&amp;[Link]=125-
127&amp;[Link]=Addison-Wesley&amp;[Link]=2013&amp;[Link]=978-0-321-81218-
6&amp;[Link]=Herman&amp;[Link]=David&amp;rft_id=https%3A%2F%[Link]
%2Fbooks%3Fid%3DNz9iAwAAQBAJ%26pg%3DPA125&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-66"><span class="mw-cite-backlink"><b><a href="#cite_ref-66" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
Function">"Function&nbsp;– JavaScript"</a>. <i><a href="/wiki/MDN_Web_Docs" title="MDN Web
Docs">MDN Web Docs</a></i><span class="reference-accessdate">. Retrieved <span
class="nowrap">30 October</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=MDN+Web+Docs&amp;[Link]=Function+
%E2%80%93+JavaScript&amp;rft_id=https%3A%2F%[Link]%2Fen-US%2Fdocs
%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FFunction&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-67"><span class="mw-cite-backlink"><b><a href="#cite_ref-67" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] of the
Function Object"</a>. [Link]. <a rel="nofollow" class="external text"
href="[Link]
toc">Archived</a> from the original on 28 January 2013<span class="reference-accessdate">.
Retrieved <span class="nowrap">26 May</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Properties+of+the+Function+Object&amp;[Link]
b=[Link]&amp;rft_id=https%3A%2F%[Link]%2F%23x15.3.4-
toc&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-FOOTNOTEFlanagan2006141-68"><span class="mw-cite-backlink"><b><a


href="#cite_ref-FOOTNOTEFlanagan2006141_68-0" aria-label="Jump up" title="Jump
up">^</a></b></span> <span class="reference-text"><a href="#CITEREFFlanagan2006">Flanagan
2006</a>, p.&nbsp;141.</span>

</li>

<li id="cite_note-69"><span class="mw-cite-backlink"><b><a href="#cite_ref-69" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link]
[Link]#the-many-talents-of-javascript-for-generalizing-role-oriented-programming-
approaches-like-traits-and-mixins">The many talents of JavaScript for generalizing Role-Oriented
Programming approaches like Traits and Mixins</a> <a rel="nofollow" class="external text"
href="[Link]
[Link]#the-many-talents-of-javascript-for-generalizing-role-oriented-
programming-approaches-like-traits-and-mixins">Archived</a> 2017-10-05 at the <a
href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>,
[Link], April 11, 2014.</span>

</li>

<li id="cite_note-70"><span class="mw-cite-backlink"><b><a href="#cite_ref-70" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link] for JavaScript</a> <a
rel="nofollow" class="external text"
href="[Link]
traitsjs/">Archived</a> 2014-07-24 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a>, 2010.</span>

</li>
<li id="cite_note-71"><span class="mw-cite-backlink"><b><a href="#cite_ref-71" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] | CocktailJS"</a>.
<i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
from the original on 4 February 2017<span class="reference-accessdate">. Retrieved <span
class="nowrap">24 February</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Home+
%26%23124%3B+CocktailJS&amp;rft_id=https%3A%2F%[Link]%2F&amp;rfr_id=info
%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-72"><span class="mw-cite-backlink"><b><a href="#cite_ref-72" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFCroll2011"
class="citation web cs1">Croll, Angus (31 May 2011). <a rel="nofollow" class="external text"
href="[Link]
fresh look at JavaScript Mixins"</a>. <i>JavaScript, JavaScript…</i>. <a rel="nofollow" class="external
text"
href="[Link]
2011/05/31/a-fresh-look-at-javascript-mixins/">Archived</a> from the original on 15 April
2020.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=JavaScript%2C+JavaScript
%E2%80%A6&amp;[Link]=A+fresh+look+at+JavaScript+Mixins&amp;[Link]=2011-05-
31&amp;[Link]=Croll&amp;[Link]=Angus&amp;rft_id=https%3A%2F
%[Link]%2F2011%2F05%2F31%2Fa-fresh-look-at-javascript-mixins
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-73"><span class="mw-cite-backlink"><b><a href="#cite_ref-73" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFHaverbeke2011"
class="citation book cs1">Haverbeke, Marijn (2011). <a rel="nofollow" class="external text"
href="[Link]
JavaScript</i></a>. No Starch Press. pp.&nbsp;139–149. <a href="/wiki/ISBN_(identifier)"
class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/978-1-59327-282-1" title="Special:BookSources/978-1-59327-282-
1"><bdi>978-1-59327-282-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=book&amp;[Link]=Eloquent+JavaScript&amp;[Link]=139-
149&amp;[Link]=No+Starch+Press&amp;[Link]=2011&amp;[Link]=978-1-59327-282-
1&amp;[Link]=Haverbeke&amp;[Link]=Marijn&amp;rft_id=https%3A%2F
%[Link]%2Fbooks%3Fid%3D9U5I_tskq9MC%26pg%3DPA139&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>
<li id="cite_note-74"><span class="mw-cite-backlink"><b><a href="#cite_ref-74" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
Archive/Web/E4X">"E4X – Archive of obsolete content"</a>. <i>Mozilla Developer Network</i>.
Mozilla Foundation. 14 February 2014. Archived from <a rel="nofollow" class="external text"
href="[Link] original</a> on 24 July
2014<span class="reference-accessdate">. Retrieved <span class="nowrap">13 July</span>
2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Mozilla+Developer+Network&amp;[Link]=E4
X+%E2%80%93+Archive+of+obsolete+content&amp;[Link]=2014-02-14&amp;rft_id=https%3A%2F
%[Link]%2Fen-US%2Fdocs%2FArchive%2FWeb%2FE4X&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-75"><span class="mw-cite-backlink"><b><a href="#cite_ref-75" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] –
JavaScript"</a>. The <a href="/wiki/Mozilla_Developer_Network" class="mw-redirect" title="Mozilla
Developer Network">Mozilla Developer Network</a>. <a rel="nofollow" class="external text"
href="[Link]
JavaScript/Reference/Statements/var">Archived</a> from the original on 23 December 2012<span
class="reference-accessdate">. Retrieved <span class="nowrap">22 December</span>
2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=var+
%E2%80%93+JavaScript&amp;[Link]=The+Mozilla+Developer+Network&amp;rft_id=https%3A%2F
%[Link]%2Fen-US%2Fdocs%2FJavaScript%2FReference%2FStatements
%2Fvar&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-moz_let-76"><span class="mw-cite-backlink"><b><a href="#cite_ref-moz_let_76-0"


aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link
rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="moz_let" class="citation web cs1"><a rel="nofollow" class="external text"
href="[Link]
let">"let"</a>. <i>MDN web docs</i>. Mozilla. <a rel="nofollow" class="external text"
href="[Link]
Web/JavaScript/Reference/Statements/let">Archived</a> from the original on 28 May 2019<span
class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span>
2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=MDN+web+docs&amp;[Link]=let&amp;rft_id
=https%3A%2F%[Link]%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference
%2FStatements%2Flet&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-moz_const-77"><span class="mw-cite-backlink"><b><a href="#cite_ref-


moz_const_77-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="moz_const" class="citation web cs1"><a rel="nofollow" class="external text"
href="[Link]
const">"const"</a>. <i>MDN web docs</i>. Mozilla. <a rel="nofollow" class="external text"
href="[Link]
Web/JavaScript/Reference/Statements/const">Archived</a> from the original on 28 June 2018<span
class="reference-accessdate">. Retrieved <span class="nowrap">27 June</span>
2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=MDN+web+docs&amp;[Link]=const&amp;rft
_id=https%3A%2F%[Link]%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference
%2FStatements%2Fconst&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-78"><span class="mw-cite-backlink"><b><a href="#cite_ref-78" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
4">"ECMAScript Language Specification – ECMA-262 Edition 5.1"</a>. <a
href="/wiki/Ecma_International" title="Ecma International">Ecma International</a>. <a
rel="nofollow" class="external text"
href="[Link]
262/5.1/#sec-4">Archived</a> from the original on 26 November 2012<span class="reference-
accessdate">. Retrieved <span class="nowrap">22 December</span> 2012</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=ECMAScript+Language+Specification+
%E2%80%93+ECMA-262+Edition+5.1&amp;[Link]=Ecma+International&amp;rft_id=https%3A%2F
%[Link]%2Fecma-262%2F5.1%2F%23sec-4&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-79"><span class="mw-cite-backlink"><b><a href="#cite_ref-79" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] <i>Mozilla
Developer Network</i>. <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a>. <a rel="nofollow"
class="external text"
href="[Link]
DOM/console">Archived</a> from the original on 28 February 2013<span class="reference-
accessdate">. Retrieved <span class="nowrap">6 April</span> 2013</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Mozilla+Developer+Network&amp;[Link]=co
nsole&amp;rft_id=https%3A%2F%[Link]%2Fen-US%2Fdocs%2FDOM
%2Fconsole&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-80"><span class="mw-cite-backlink"><b><a href="#cite_ref-80" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
Functions_and_function_scope/arguments">"arguments"</a>. <i>Mozilla Developer Network</i>.
<a href="/wiki/Mozilla" title="Mozilla">Mozilla</a>. <a rel="nofollow" class="external text"
href="[Link]
JavaScript/Reference/Functions_and_function_scope/arguments">Archived</a> from the original on
13 April 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">6 April</span>
2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Mozilla+Developer+Network&amp;[Link]=ar
guments&amp;rft_id=https%3A%2F%[Link]%2Fen-US%2Fdocs%2FJavaScript
%2FReference%2FFunctions_and_function_scope%2Farguments&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-81"><span class="mw-cite-backlink"><b><a href="#cite_ref-81" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
function*">"function* - JavaScript | MDN"</a>. <i>[Link]</i><span class="reference-
accessdate">. Retrieved <span class="nowrap">27 September</span> 2022</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=function
%2A+-+JavaScript+%7C+MDN&amp;rft_id=https%3A%2F%[Link]%2Fen-US%2Fdocs
%2FWeb%2FJavaScript%2FReference%2FStatements%2Ffunction%2A&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-moz_modules-82"><span class="mw-cite-backlink"><b><a href="#cite_ref-


moz_modules_82-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span
class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a rel="nofollow" class="external
text" href="[Link]
modules"</a>. <i>MDN Web Docs</i>. Mozilla. <a rel="nofollow" class="external text"
href="[Link]
Web/JavaScript/Guide/Modules">Archived</a> from the original on 17 July 2022<span
class="reference-accessdate">. Retrieved <span class="nowrap">28 July</span>
2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=MDN+Web+Docs&amp;[Link]=JavaScript+mo
dules&amp;rft_id=https%3A%2F%[Link]%2Fen-US%2Fdocs%2FWeb%2FJavaScript
%2FGuide%2FModules&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-83"><span class="mw-cite-backlink"><b><a href="#cite_ref-83" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] JavaScript Safe for
Advertising"</a>. ADsafe. <a rel="nofollow" class="external text"
href="[Link] from
the original on 6 July 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">8
May</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Making+JavaScript+Safe+for+Advertising&amp;r
[Link]=ADsafe&amp;rft_id=https%3A%2F%[Link]%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-84"><span class="mw-cite-backlink"><b><a href="#cite_ref-84" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] ECMA Script (SES)"</a>.
<a rel="nofollow" class="external text"
href="[Link]
SecureEcmaScript">Archived</a> from the original on 15 May 2013<span class="reference-
accessdate">. Retrieved <span class="nowrap">26 May</span> 2013</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Secure+ECMA+Script+%28SES
%29&amp;rft_id=https%3A%2F%[Link]%2Fp%2Fes-lab%2Fwiki
%2FSecureEcmaScript&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-85"><span class="mw-cite-backlink"><b><a href="#cite_ref-85" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] Caja
Project"</a>. <i><a href="/wiki/Google" title="Google">Google</a></i>. <a rel="nofollow"
class="external text"
href="[Link]
caja/">Archived</a> from the original on 22 January 2021<span class="reference-accessdate">.
Retrieved <span class="nowrap">9 July</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Google&amp;[Link]=Google+Caja+Project&a
mp;rft_id=https%3A%2F%[Link]%2Fcaja%2F&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-86"><span class="mw-cite-backlink"><b><a href="#cite_ref-86" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
article=4392">"Mozilla Cross-Site Scripting Vulnerability Reported and Fixed&nbsp;– MozillaZine
Talkback"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
article=4392">Archived</a> from the original on 21 July 2011<span class="reference-accessdate">.
Retrieved <span class="nowrap">24 February</span> 2017</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Mozilla+Cross-
Site+Scripting+Vulnerability+Reported+and+Fixed+
%E2%80%93+MozillaZine+Talkback&amp;rft_id=https%3A%2F%[Link]
%[Link]%3Farticle%3D4392&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-87"><span class="mw-cite-backlink"><b><a href="#cite_ref-87" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFKottelin2008"
class="citation web cs1">Kottelin, Thor (17 June 2008). <a rel="nofollow" class="external text"
href="[Link]
%E2%80%9Cprotection%E2%80%9D-forget-about-it/">"Right-click "protection"? Forget about
it"</a>. <i>[Link]</i>. Archived from <a rel="nofollow" class="external text"
href="[Link]
about-it/">the original</a> on 9 August 2011<span class="reference-accessdate">. Retrieved <span
class="nowrap">28 July</span> 2022</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Right-click+
%22protection%22%3F+Forget+about+it&amp;[Link]=2008-06-
17&amp;[Link]=Kottelin&amp;[Link]=Thor&amp;rft_id=https%3A%2F%[Link]
%2F2008%2F06%2F17%2Fright-click-%25E2%2580%259Cprotection%25E2%2580%259D-forget-
about-it%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-88"><span class="mw-cite-backlink"><b><a href="#cite_ref-88" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFRehorik2016"
class="citation web cs1">Rehorik, Jan (29 November 2016). <a rel="nofollow" class="external text"
href="[Link]
javascript/">"Why You Should Never Put Sensitive Data in Your JavaScript"</a>. <i>ServiceObjects
Blog</i>. ServiceObjects. <a rel="nofollow" class="external text"
href="[Link]
you-should-never-put-sensitive-data-in-your-javascript/">Archived</a> from the original on 3 June
2019<span class="reference-accessdate">. Retrieved <span class="nowrap">3 June</span>
2019</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=ServiceObjects+Blog&amp;[Link]=Why+You+
Should+Never+Put+Sensitive+Data+in+Your+JavaScript&amp;[Link]=2016-11-
29&amp;[Link]=Rehorik&amp;[Link]=Jan&amp;rft_id=https%3A%2F
%[Link]%2Fblog%2Fwhy-you-should-never-put-sensitive-data-in-your-javascript
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-jslibs-89"><span class="mw-cite-backlink">^ <a href="#cite_ref-jslibs_89-0"><span


class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a
href="#cite_ref-jslibs_89-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFLauingerChaabaneArshadRobertson2016" class="citation cs2">Lauinger, Tobias;
Chaabane, Abdelberi; Arshad, Sajjad; Robertson, William; Wilson, Christo; Kirda, Engin (21 December
2016), <a rel="nofollow" class="external text"
href="[Link]
publications/[Link]">"Thou Shalt Not Depend on Me: Analysing the Use of Outdated
JavaScript Libraries on the Web"</a> <span class="cs1-format">(PDF)</span>, <i>Northeastern
University</i>, <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv
(identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow"
class="external text" href="[Link] <a
href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow"
class="external text"
href="[Link] <a
href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/978-1-891562-46-4" title="Special:BookSources/978-1-891562-46-
4"><bdi>978-1-891562-46-4</bdi></a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect"
title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text"
href="[Link] archived from <a
rel="nofollow" class="external text"
href="[Link] original</a>
<span class="cs1-format">(PDF)</span> on 29 March 2017<span class="reference-accessdate">,
retrieved <span class="nowrap">28 July</span> 2022</span></cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Northeastern+University&amp;[Link]=Thou+Sha
lt+Not+Depend+on+Me
%3A+Analysing+the+Use+of+Outdated+JavaScript+Libraries+on+the+Web&amp;[Link]=2016-12-
21&amp;rft_id=info%3Aarxiv%2F1811.00918&amp;rft_id=https%3A%2F%[Link]
%2FCorpusID%3A17885720%23id-name%3DS2CID&amp;rft_id=info%3Adoi
%2F10.14722%2Fndss.2017.23414&amp;[Link]=978-1-891562-46-
4&amp;[Link]=Lauinger&amp;[Link]=Tobias&amp;[Link]=Chaabane
%2C+Abdelberi&amp;[Link]=Arshad%2C+Sajjad&amp;[Link]=Robertson
%2C+William&amp;[Link]=Wilson%2C+Christo&amp;[Link]=Kirda%2C+Engin&amp;rft_id=https%3A
%2F%[Link]%2Fhome%2Farshad%2Fpublications
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-90"><span class="mw-cite-backlink"><b><a href="#cite_ref-90" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFCollins2016"
class="citation news cs1">Collins, Keith (27 March 2016). <a rel="nofollow" class="external text"
href="[Link]
code/">"How one programmer broke the internet by deleting a tiny piece of code"</a>.
<i>Quartz</i>. <a rel="nofollow" class="external text"
href="[Link]
programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/">Archived</a> from the original
on 22 February 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">22
February</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info
%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Quartz&amp;[Link]=How+one+programmer+br
oke+the+internet+by+deleting+a+tiny+piece+of+code&amp;[Link]=2016-03-
27&amp;[Link]=Collins&amp;[Link]=Keith&amp;rft_id=https%3A%2F%[Link]
%2F646467%2Fhow-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code
%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-91"><span class="mw-cite-backlink"><b><a href="#cite_ref-91" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">SC Magazine UK, <a
rel="nofollow" class="external text" href="[Link]
deleted-code-breaks-the-internet/article/532050/">Developer's 11 lines of deleted code 'breaks the
internet'</a> <a rel="nofollow" class="external text"
href="[Link]
11-lines-of-deleted-code-breaks-the-internet/article/532050/">Archived</a> February 23, 2017, at
the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-92"><span class="mw-cite-backlink"><b><a href="#cite_ref-92" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">Mozilla Corporation, <a
rel="nofollow" class="external text"
href="[Link] overflow in
[Link]()</a> <a rel="nofollow" class="external text"
href="[Link]
2006/[Link]">Archived</a> 2014-06-04 at the <a href="/wiki/Wayback_Machine"
title="Wayback Machine">Wayback Machine</a></span>

</li>
<li id="cite_note-93"><span class="mw-cite-backlink"><b><a href="#cite_ref-93" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFFesta1998"
class="citation web cs1">Festa, Paul (19 August 1998). <a rel="nofollow" class="external text"
href="[Link]
[Link]">"Buffer-overflow bug in IE"</a>. <i><a href="/wiki/CNET" title="CNET">CNET</a></i>.
Archived from <a rel="nofollow" class="external text" href="[Link]
[Link]">the original</a> on 25 December 2002.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=CNET&amp;[Link]=Buffer-
overflow+bug+in+IE&amp;[Link]=1998-08-
19&amp;[Link]=Festa&amp;[Link]=Paul&amp;rft_id=https%3A%2F%[Link]
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-94"><span class="mw-cite-backlink"><b><a href="#cite_ref-94" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">[Link], <a
rel="nofollow" class="external text"
href="[Link] Safari JavaScript Buffer
Overflow Lets Remote Users Execute Arbitrary Code and HTTP Redirect Bug Lets Remote Users
Access Files</a> <a rel="nofollow" class="external text"
href="[Link]
Mar/[Link]">Archived</a> 2010-02-18 at the <a href="/wiki/Wayback_Machine"
title="Wayback Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-95"><span class="mw-cite-backlink"><b><a href="#cite_ref-95" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">SecurityFocus, <a
rel="nofollow" class="external text"
href="[Link] WebViewFolderIcon ActiveX
Control Buffer Overflow Vulnerability</a> <a rel="nofollow" class="external text"
href="[Link]
info">Archived</a> 2011-10-11 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-96"><span class="mw-cite-backlink"><b><a href="#cite_ref-96" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">Fusion Authority, <a
rel="nofollow" class="external text" href="[Link]
[Link]">Macromedia Flash ActiveX Buffer Overflow</a> <a
rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> August 13, 2011, at the <a
href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>

</li>
<li id="cite_note-97"><span class="mw-cite-backlink"><b><a href="#cite_ref-97" aria-label="Jump
up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link] Mode in Vista IE7 –
IEBlog"</a>. <i>[Link]</i>. 9 February 2006. <a rel="nofollow" class="external text"
href="[Link]
2006/02/09/[Link]">Archived</a> from the original on 23 January 2010<span
class="reference-accessdate">. Retrieved <span class="nowrap">24 February</span>
2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Protected+Mo
de+in+Vista+IE7+%E2%80%93+IEBlog&amp;[Link]=2006-02-09&amp;rft_id=https%3A%2F
%[Link]%2Fie%2Farchive%2F2006%2F02%2F09%[Link]&amp;rfr_id=info
%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-98"><span class="mw-cite-backlink"><b><a href="#cite_ref-98" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">US CERT, <a rel="nofollow"
class="external text" href="[Link] Note
VU#713878: Microsoft Internet Explorer does not properly validate source of redirected frame</a>
<a rel="nofollow" class="external text"
href="[Link]
713878/">Archived</a> 2009-10-30 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-99"><span class="mw-cite-backlink"><b><a href="#cite_ref-99" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">Mozilla Foundation, <a
rel="nofollow" class="external text"
href="[Link] Foundation
Security Advisory 2005–41: Privilege escalation via DOM property overrides</a> <a rel="nofollow"
class="external text"
href="[Link]
2005/[Link]">Archived</a> 2014-06-04 at the <a href="/wiki/Wayback_Machine"
title="Wayback Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-100"><span class="mw-cite-backlink"><b><a href="#cite_ref-100" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFAndersen2004"
class="citation web cs1">Andersen, Starr (9 August 2004). <a rel="nofollow" class="external text"
href="[Link]
bb457150(v=technet.10)">"Part 5: Enhanced Browsing Security"</a>. <a
href="/wiki/Microsoft_TechNet" title="Microsoft TechNet">TechNet</a>. <i><a
href="/wiki/Microsoft_Docs" title="Microsoft Docs">Microsoft Docs</a></i>. Changes to
Functionality in Windows XP Service Pack 2<span class="reference-accessdate">. Retrieved <span
class="nowrap">20 October</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Microsoft+Docs&amp;[Link]=Part+5%3A+Enh
anced+Browsing+Security&amp;[Link]=2004-08-
09&amp;[Link]=Andersen&amp;[Link]=Starr&amp;rft_id=https%3A%2F
%[Link]%2Fen-us%2Fprevious-versions%2Fwindows%2Fit-pro%2Fwindows-xp
%2Fbb457150%28v%3Dtechnet.10%29&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-101"><span class="mw-cite-backlink"><b><a href="#cite_ref-101" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text">For one example of a rare
JavaScript Trojan Horse, see Symantec Corporation, <a rel="nofollow" class="external text"
href="[Link]
99">[Link].K</a> <a rel="nofollow" class="external text"
href="[Link]
security_response/[Link]?docid=2003-100111-0931-99">Archived</a> 2011-09-13 at the <a
href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>

</li>

<li id="cite_note-102"><span class="mw-cite-backlink"><b><a href="#cite_ref-102" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFGrussMauriceMangard2015" class="citation arxiv cs1">Gruss, Daniel; Maurice,
Clémentine; Mangard, Stefan (24 July 2015). "[Link]: A Remote Software-Induced Fault
Attack in JavaScript". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv
(identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow"
class="external text" href="[Link] [<a
rel="nofollow" class="external text" href="[Link]
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=preprint&amp;[Link]=arXiv&amp;[Link]=[Link]
%3A+A+Remote+Software-Induced+Fault+Attack+in+JavaScript&amp;[Link]=2015-07-
24&amp;rft_id=info%3Aarxiv
%2F1507.06955&amp;[Link]=Gruss&amp;[Link]=Daniel&amp;[Link]=Maurice%2C+Cl
%C3%A9mentine&amp;[Link]=Mangard%2C+Stefan&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-103"><span class="mw-cite-backlink"><b><a href="#cite_ref-103" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFJean-Pharuns2015"
class="citation news cs1">Jean-Pharuns, Alix (30 July 2015). <a rel="nofollow" class="external text"
href="[Link]
hack-ive-ever-seen">"[Link] Is the Most Ingenious Hack I've Ever Seen"</a>.
<i>Motherboard</i>. <a href="/wiki/Vice_(magazine)" title="Vice (magazine)">Vice</a>. <a
rel="nofollow" class="external text"
href="[Link]
article/9akpwz/rowhammerjs-is-the-most-ingenious-hack-ive-ever-seen">Archived</a> from the
original on 27 January 2018<span class="reference-accessdate">. Retrieved <span
class="nowrap">26 January</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Motherboard&amp;[Link]=[Link]+Is+th
e+Most+Ingenious+Hack+I%27ve+Ever+Seen&amp;[Link]=2015-07-30&amp;[Link]=Jean-
Pharuns&amp;[Link]=Alix&amp;rft_id=https%3A%2F%[Link]%2Fen_us
%2Farticle%2F9akpwz%2Frowhammerjs-is-the-most-ingenious-hack-ive-ever-seen&amp;rfr_id=info
%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-104"><span class="mw-cite-backlink"><b><a href="#cite_ref-104" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFGoodin2015"
class="citation web cs1">Goodin, Dan (4 August 2015). <a rel="nofollow" class="external text"
href="[Link]
attacking-pcs-just-add-javascript/">"DRAM 'Bitflipping' exploit for attacking PCs: Just add
JavaScript"</a>. <i><a href="/wiki/Ars_Technica" title="Ars Technica">Ars Technica</a></i>. <a
rel="nofollow" class="external text"
href="[Link]
technology/2015/08/dram-bitflipping-exploit-for-attacking-pcs-just-add-javascript/">Archived</a>
from the original on 27 January 2018<span class="reference-accessdate">. Retrieved <span
class="nowrap">26 January</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Ars+Technica&amp;[Link]=DRAM+
%27Bitflipping%27+exploit+for+attacking+PCs%3A+Just+add+JavaScript&amp;[Link]=2015-08-
04&amp;[Link]=Goodin&amp;[Link]=Dan&amp;rft_id=https%3A%2F%[Link]
%2Finformation-technology%2F2015%2F08%2Fdram-bitflipping-exploit-for-attacking-pcs-just-add-
javascript%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-105"><span class="mw-cite-backlink"><b><a href="#cite_ref-105" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite id="CITEREFAuerbach2015"
class="citation web cs1"><a href="/wiki/David_Auerbach" title="David Auerbach">Auerbach,
David</a> (28 July 2015). <a rel="nofollow" class="external text"
href="[Link]
hy_a_new_security_attack_is_truly_terrifying.html">"Rowhammer security exploit: Why a new
security attack is truly terrifying"</a>. <i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
bitwise/2015/07/
rowhammer_security_exploit_why_a_new_security_attack_is_truly_terrifying.html">Archived</a>
from the original on 30 July 2015<span class="reference-accessdate">. Retrieved <span
class="nowrap">29 July</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=Rowhammer+security
+exploit%3A+Why+a+new+security+attack+is+truly+terrifying&amp;[Link]=2015-07-
28&amp;[Link]=Auerbach&amp;[Link]=David&amp;rft_id=https%3A%2F%[Link]
%2Farticles%2Ftechnology%2Fbitwise
%2F2015%2F07%2Frowhammer_security_exploit_why_a_new_security_attack_is_truly_terrifying.ht
ml&amp;rfr_id=info%3Asid%[Link]%3AJavaScript" class="Z3988"></span></span>

</li>

<li id="cite_note-106"><span class="mw-cite-backlink"><b><a href="#cite_ref-106" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link] <a rel="nofollow"
class="external text" href="[Link]
projects/anc/">Archived</a> 2017-03-16 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a> VUSec, 2017</span>

</li>

<li id="cite_note-107"><span class="mw-cite-backlink"><b><a href="#cite_ref-107" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link]
about-to-make-drive-by-exploits-much-nastier/">New ASLR-busting JavaScript is about to make
drive-by exploits much nastier</a> <a rel="nofollow" class="external text"
href="[Link]
new-aslr-busting-javascript-is-about-to-make-drive-by-exploits-much-nastier/">Archived</a> 2017-
03-16 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>
Ars Technica, 2017</span>

</li>

<li id="cite_note-108"><span class="mw-cite-backlink"><b><a href="#cite_ref-108" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow"
class="external text" href="[Link] Attack</a> <a
rel="nofollow" class="external text"
href="[Link]
[Link]">Archived</a> 2018-01-03 at the <a href="/wiki/Wayback_Machine" title="Wayback
Machine">Wayback Machine</a> Spectre Attack</span>

</li>

<li id="cite_note-109"><span class="mw-cite-backlink"><b><a href="#cite_ref-109" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link]
<i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link]
from the original on 19 December 2016<span class="reference-accessdate">. Retrieved <span
class="nowrap">6 November</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=[Link]
&amp;rft_id=https%3A%2F%[Link]%2F&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>
</li>

<li id="cite_note-auto1-110"><span class="mw-cite-backlink"><b><a href="#cite_ref-auto1_110-0"


aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link
rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="[Link]" class="citation web cs1">[Link]. <a rel="nofollow" class="external text"
href="[Link] Performance Benchmarking Playground for JavaScript"</a>.
<i>[Link]</i>. <a rel="nofollow" class="external text"
href="[Link] from the
original on 27 February 2021<span class="reference-accessdate">. Retrieved <span
class="nowrap">13 August</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=[Link]&amp;[Link]=[Link]+Performanc
e+Benchmarking+Playground+for+JavaScript&amp;[Link]=[Link]&amp;rft_id=https%3A%2F
%[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-popularity-111"><span class="mw-cite-backlink"><b><a href="#cite_ref-


popularity_111-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-
text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite
id="CITEREFEich2008" class="citation web cs1"><a href="/wiki/Brendan_Eich" title="Brendan
Eich">Eich, Brendan</a> (3 April 2008). <a rel="nofollow" class="external text"
href="[Link] <a rel="nofollow"
class="external text"
href="[Link]
popularity/">Archived</a> from the original on 3 July 2011<span class="reference-accessdate">.
Retrieved <span class="nowrap">19 January</span> 2012</span>.</cite><span
title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=Popularity&amp;[Link]=2008-04-
03&amp;[Link]=Eich&amp;[Link]=Brendan&amp;rft_id=https%3A%2F%[Link]
%2F2008%2F04%2Fpopularity%2F&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-112"><span class="mw-cite-backlink"><b><a href="#cite_ref-112" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text"
href="[Link]
Browser Switches WebAssembly to 'On' -- Visual Studio Magazine"</a>. <i>Visual Studio
Magazine</i>. <a rel="nofollow" class="external text"
href="[Link]
2017/11/06/[Link]">Archived</a> from the original on 10 February 2018<span
class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span>
2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=unknown&amp;[Link]=Visual+Studio+Magazine&amp;[Link]=Edge+
Browser+Switches+WebAssembly+to+%27On%27+--+Visual+Studio+Magazine&amp;rft_id=https%3A
%2F%[Link]%2Farticles%2F2017%2F11%2F06%2Fedge-
[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></span>

</li>

<li id="cite_note-113"><span class="mw-cite-backlink"><b><a href="#cite_ref-113" aria-label="Jump


up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-
inline-style" href="mw-data:TemplateStyles:r1215172403"><cite class="citation web cs1"><a
rel="nofollow" class="external text" href="[Link] asked
questions"</a>. [Link]. <a rel="nofollow" class="external text"
href="[Link]
from the original on 4 June 2014<span class="reference-accessdate">. Retrieved <span
class="nowrap">13 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-
2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx
%3Abook&amp;[Link]=unknown&amp;[Link]=frequently+asked+questions&amp;[Link]=asm.j
s&amp;rft_id=https%3A%2F%[Link]%[Link]&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></span>

</li>

</ol></div></div>

<h2><span class="mw-headline" id="Sources">Sources</span></h2>

<ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite


id="CITEREFDere2017" class="citation news cs1">Dere, Mohan (21 December 2017). <a
rel="nofollow" class="external text" href="[Link]
react-app-redux-react-router-redux-observable-bootstrap-altogether-216db97e89a3">"How to
integrate create-react-app with all the libraries you need to make a great app"</a>.
<i>freeCodeCamp</i><span class="reference-accessdate">. Retrieved <span class="nowrap">14
June</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi
%2Ffmt%3Akev%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=freeCodeCamp&amp;[Link]=How+to+integrate+
create-react-app+with+all+the+libraries+you+need+to+make+a+great+app&amp;[Link]=2017-12-
21&amp;[Link]=Dere&amp;[Link]=Mohan&amp;rft_id=https%3A%2F
%[Link]%2Fintegrating-create-react-app-redux-react-router-redux-
observable-bootstrap-altogether-216db97e89a3&amp;rfr_id=info%3Asid%[Link]
%3AJavaScript" class="Z3988"></span></li>

<li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite


id="CITEREFPanchal2022" class="citation news cs1">Panchal, Krunal (26 April 2022). <a
rel="nofollow" class="external text" href="[Link]
comparison">"Angular vs React Detailed Comparison"</a>. <i>Groovy Web</i><span
class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span>
2023</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx
%3Ajournal&amp;[Link]=article&amp;[Link]=Groovy+Web&amp;[Link]=Angular+vs+React+D
etailed+Comparison&amp;[Link]=2022-04-
26&amp;[Link]=Panchal&amp;[Link]=Krunal&amp;rft_id=https%3A%2F
%[Link]%2Fblog%2Fangular-vs-react-detail-comparison&amp;rfr_id=info%3Asid
%[Link]%3AJavaScript" class="Z3988"></span></li></ul>

<h2><span class="mw-headline" id="Further_reading">Further reading</span></h2>

<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div


role="note" class="hatnote navigation-not-searchable">See also: <a
href="/wiki/ECMAScript#External_links" title="ECMAScript">ECMAScript Specification
Documents</a></div>

<ul><li>Flanagan, David. <i>JavaScript: The Definitive Guide</i>. 7th edition. Sebastopol, California:
O'Reilly, 2020. <link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><a href="/wiki/ISBN_(identifier)" class="mw-redirect"
title="ISBN (identifier)">ISBN</a>&nbsp;<a href="/wiki/Special:BookSources/978-1-491-95202-3"
title="Special:BookSources/978-1-491-95202-3">978-1-491-95202-3</a>.</li>

<li>Haverbeke, Marijn. <i>Eloquent JavaScript</i>. 3rd edition. No Starch Press, 2018. 472 pages.
<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><a
href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<a
href="/wiki/Special:BookSources/978-1593279509" title="Special:BookSources/978-
1593279509">978-1593279509</a>.<small><a rel="nofollow" class="external text"
href="[Link]

<li>Zakas, Nicholas. <i>Principles of Object-Oriented JavaScript</i>, 1st edition. No Starch Press,


2014. 120 pages. <link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1215172403"><a href="/wiki/ISBN_(identifier)" class="mw-redirect"
title="ISBN (identifier)">ISBN</a>&nbsp;<a href="/wiki/Special:BookSources/978-1593275402"
title="Special:BookSources/978-1593275402">978-1593275402</a>.</li></ul>

<h2><span class="mw-headline" id="External_links">External links</span></h2>

<style data-mw-deduplicate="TemplateStyles:r1217611005">.mw-parser-output .side-


box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-
height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-
abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-
image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-
imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-
output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-
width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-
output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-
left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1097092911">.mw-
parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-
output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-
text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:217px;margin:0 auto}.mw-parser-
output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-
block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-
link{display:inline-block;margin-left:4px;width:182px;vertical-align:middle}</style><div
role="navigation" aria-labelledby="sister-projects" class="side-box metadata side-box-right sister-box
sistersitebox plainlinks"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-
output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-
style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul
li{margin-bottom:0}</style>

<div class="side-box-abovebelow">

<b>JavaScript</b> at Wikipedia's <a href="/wiki/Wikipedia:Wikimedia_sister_projects"


title="Wikipedia:Wikimedia sister projects"><span id="sister-projects">sister
projects</span></a></div>

<div class="side-box-flex">

<div class="side-box-text plainlist"><ul><li><span class="sister-logo"><span class="mw-valign-


middle" typeof="mw:File"><span><img alt=""
src="//[Link]/wikipedia/en/thumb/0/06/[Link]/27px-Wiktionary-
[Link]" decoding="async" width="27" height="27" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/0/06/[Link]/41px-Wiktionary-
[Link] 1.5x, //[Link]/wikipedia/en/thumb/0/06/[Link]/
[Link] 2x" data-file-width="391"
data-file-height="391"></span></span></span><span class="sister-link"><a
href="[Link] class="extiw"
title="wikt:Special:Search/JavaScript">Definitions</a> from Wiktionary</span></li><li><span
class="sister-logo"><span class="mw-valign-middle" typeof="mw:File"><span><img alt=""
src="//[Link]/wikipedia/en/thumb/4/4a/[Link]/20px-Commons-
[Link]" decoding="async" width="20" height="27" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/4/4a/[Link]/30px-Commons-
[Link] 1.5x, //[Link]/wikipedia/en/thumb/4/4a/[Link]/40px-
[Link] 2x" data-file-width="1024"
data-file-height="1376"></span></span></span><span class="sister-link"><a
href="[Link] class="extiw"
title="c:Category:JavaScript">Media</a> from Commons</span></li><li><span class="sister-
logo"><span class="mw-valign-middle" typeof="mw:File"><span><img alt=""
src="//[Link]/wikipedia/commons/thumb/f/fa/[Link]/27px-Wikibooks-
[Link]" decoding="async" width="27" height="27" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/f/fa/[Link]/41px-
[Link] 1.5x, //[Link]/wikipedia/commons/thumb/f/fa/Wikibooks-
[Link]/[Link] 2x" data-file-width="300"
data-file-height="300"></span></span></span><span class="sister-link"><a
href="[Link] class="extiw" title="b:JavaScript">Textbooks</a>
from Wikibooks</span></li><li><span class="sister-logo"><span class="mw-valign-middle"
typeof="mw:File"><span><img alt=""
src="//[Link]/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/27px-
Wikiversity_logo_2017.[Link]" decoding="async" width="27" height="22" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/41px-
Wikiversity_logo_2017.[Link] 1.5x,
//[Link]/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/54px-
Wikiversity_logo_2017.[Link] 2x" data-file-width="626"
data-file-height="512"></span></span></span><span class="sister-link"><a
href="[Link] class="extiw"
title="v:Topic:JavaScript">Resources</a> from Wikiversity</span></li><li><span class="sister-
logo"><span class="mw-valign-middle" typeof="mw:File"><span><img alt=""
src="//[Link]/wikipedia/commons/thumb/a/a6/[Link]/27px-
[Link]" decoding="async" width="27" height="27" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/a/a6/[Link]/41px-
[Link] 1.5x,
//[Link]/wikipedia/commons/thumb/a/a6/[Link]/54px-
[Link] 2x" data-file-width="100"
data-file-height="100"></span></span></span><span class="sister-link"><a
href="[Link] class="extiw"
title="mw:JavaScript">Documentation</a> from MediaWiki</span></li></ul></div></div>

</div>

<style data-mw-deduplicate="TemplateStyles:r1214626921">.mw-parser-output .spoken-


wikipedia{border:1px solid #a2a9b1;background-color:#f8f9fa;margin:0.5em 0;padding:0.2em;line-
height:1.5em;font-size:90%}.mw-parser-output .spoken-wikipedia-header{text-align:center}.mw-
parser-output .spoken-wikipedia-listen-to{font-weight:bold}.mw-parser-output .spoken-wikipedia-
files{text-align:center;margin-top:10px;margin-bottom:0.4em}.mw-parser-output .spoken-wikipedia-
icon{float:left;margin-left:5px;margin-top:10px}.mw-parser-output .spoken-wikipedia-
disclaimer{margin-left:60px;margin-top:10px;font-size:95%;line-height:1.4em}.mw-parser-
output .spoken-wikipedia-footer{margin-top:10px;text-align:center}@media(min-width:720px){.mw-
parser-output .spoken-wikipedia{width:20em;float:right;clear:right;margin-left:1em}}[Link]-
theme-clientpref-night .mw-parser-output .spoken-wikipedia{background-
color:inherit}@media(prefers-color-scheme:dark){[Link]-theme-clientpref-os .mw-parser-
output .spoken-wikipedia{background-color:inherit}}</style><div class="spoken-wikipedia
sisterproject noprint haudio"><div class="spoken-wikipedia-header"><span class="spoken-wikipedia-
listen-to">Listen to this article</span> (<span class="duration"><span class="min">48</span>
minutes</span>)</div><div class="spoken-wikipedia-files"><figure class="mw-halign-center"
typeof="mw:File"><span><span class="mw-tmh-player audio mw-file-element"
style="width:200px;"><audio id="mwe_player_0_placeholder" preload="none" class="" width="200"
style="width:200px;" data-durationhint="2902" data-mwtitle="[Link]" data-
mwprovider="wikimediacommons" playsinline="" disabled="disabled" tabindex="-1"></audio><a
class="mw-tmh-play" href="/wiki/File:[Link]" title="Play audio" role="button"><span
class="mw-tmh-play-icon"></span></a><span class="mw-tmh-duration mw-tmh-label"><span
class="sr-only">Duration: 48 minutes and 22 seconds.</span><span
aria-hidden="true">48:22</span></span></span></span><figcaption></figcaption></figure>

</div><div class="spoken-wikipedia-icon"><span typeof="mw:File"><span title="Spoken


Wikipedia"><img alt="Spoken Wikipedia icon"
src="//[Link]/wikipedia/commons/thumb/4/47/[Link]/45px-Sound-
[Link]" decoding="async" width="45" height="34" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/4/47/[Link]/68px-Sound-
[Link] 1.5x, //[Link]/wikipedia/commons/thumb/4/47/[Link]/90px-
[Link] 2x" data-file-width="128" data-file-height="96"></span></span></div><div
class="spoken-wikipedia-disclaimer"><a href="/wiki/File:[Link]" title="File:En-
[Link]">This audio file</a> was created from a revision of this article dated
20&nbsp;August&nbsp;2013<span style="display:none">&nbsp;(<span class="bday dtstart published
updated itvstart">2013-08-20</span>)</span>, and does not reflect subsequent edits.</div><div
class="spoken-wikipedia-footer">(<a href="/wiki/Wikipedia:Media_help" class="mw-redirect"
title="Wikipedia:Media help">Audio help</a>&nbsp;· <a href="/wiki/Wikipedia:Spoken_articles"
title="Wikipedia:Spoken articles">More spoken articles</a>)</div></div>

<ul><li><a rel="nofollow" class="external text" href="[Link] Modern JavaScript


Tutorial</a>. A community maintained continuously updated collection of tutorials on the entirety of
the language.</li>

<li><a rel="nofollow" class="external text"


href="[Link] at <a
href="/wiki/Curlie" class="mw-redirect" title="Curlie">Curlie</a></li>

<li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1215172403"><cite


class="citation web cs1"><a rel="nofollow" class="external text"
href="[Link] The First 20 Years"</a><span
class="reference-accessdate">. Retrieved <span class="nowrap">6 February</span>
2022</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev
%3Amtx%3Abook&amp;[Link]=unknown&amp;[Link]=JavaScript
%3A+The+First+20+Years&amp;rft_id=https%3A%2F%[Link]
%2Fprerecorded_hopl.[Link]&amp;rfr_id=info%3Asid%[Link]%3AJavaScript"
class="Z3988"></span></li></ul>

<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-


data:TemplateStyles:r1129693374"><style data-mw-
deduplicate="TemplateStyles:r1061467846">.mw-parser-output .navbox{box-sizing:border-
box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-
align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-
parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-
1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-
output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-
abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-
group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-
subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-
color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-
left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-
group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px
solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-
abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-
title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-
output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-
output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-
color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-
parser-output .navbox .hlist td ul,.mw-parser-output .navbox [Link] dl,.mw-parser-output .navbox
[Link] ol,.mw-parser-output .navbox [Link] ul{padding:0.125em 0}.mw-parser-
output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-
title .navbar{float:left;text-align:left;margin-right:0.5em}</style></div><div role="navigation"
class="navbox" aria-labelledby="JavaScript" style="padding:3px"><table class="nowraplinks mw-
collapsible autocollapse navbox-inner mw-made-collapsible mw-collapsed" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="2"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default mw-
collapsible-toggle-collapsed" aria-expanded="false" tabindex="0"><span class="mw-collapsible-
text">show</span></button><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><style data-mw-
deduplicate="TemplateStyles:r1063604349">.mw-parser-output .navbar{display:inline;font-
size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-
parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-
block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-
right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-
0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-
output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output
.navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-
decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-
parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}</style><div class="navbar plainlinks
hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:JavaScript"
title="Template:JavaScript"><abbr title="View this template">v</abbr></a></li><li class="nv-
talk"><a href="/wiki/Template_talk:JavaScript" title="Template talk:JavaScript"><abbr title="Discuss
this template">t</abbr></a></li><li class="nv-edit"><a
href="/wiki/Special:EditPage/Template:JavaScript"
title="Special:EditPage/Template:JavaScript"><abbr title="Edit this
template">e</abbr></a></li></ul></div><div id="JavaScript" style="font-size:114%;margin:0
4em"><a class="mw-selflink selflink">JavaScript</a></div></th></tr><tr style="display: none;"><th
scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Static_program_analysis"
title="Static program analysis">Code analysis</a></th><td class="navbox-list-with-group navbox-list
navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/ESLint" title="ESLint">ESLint</a></li>

<li><a href="/wiki/JSHint" title="JSHint">JSHint</a></li>

<li><a href="/wiki/JSLint" title="JSLint">JSLint</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Subset" title="Subset">Supersets</a></th><td class="navbox-list-
with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0
0.25em">

<ul><li><a href="/wiki/JS%2B%2B" title="JS++">JS++</a></li>

<li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li>

<li><a href="/wiki/ArkTS" title="ArkTS">ArkTS</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Source-to-source_compiler" title="Source-to-source
compiler">Transpilers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/AtScript" title="AtScript">AtScript</a></li>

<li><a href="/wiki/Babel_(transcompiler)" title="Babel (transcompiler)">Babel</a></li>

<li><a href="/wiki/ClojureScript" class="mw-redirect" title="ClojureScript">ClojureScript</a></li>


<li><a href="/wiki/CoffeeScript" title="CoffeeScript">CoffeeScript</a></li>

<li><a href="/wiki/Dart_(programming_language)" title="Dart (programming


language)">Dart</a></li>

<li><a href="/wiki/Elm_(programming_language)" title="Elm (programming language)">Elm</a></li>

<li><a href="/wiki/Emscripten" title="Emscripten">Emscripten</a></li>

<li><a href="/wiki/Google_Closure_Compiler" class="mw-redirect" title="Google Closure


Compiler">Google Closure Compiler</a></li>

<li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">Google Web Toolkit</a></li>

<li><a href="/wiki/Haxe" title="Haxe">Haxe</a></li>

<li><a href="/wiki/LiveScript_(programming_language)" title="LiveScript (programming


language)">LiveScript</a></li>

<li><a href="/wiki/Morfik" title="Morfik">Morfik</a></li>

<li><a href="/wiki/Nim_(programming_language)" title="Nim (programming


language)">Nim</a></li>

<li><a href="/wiki/Opa_(programming_language)" title="Opa (programming


language)">Opa</a></li>

<li><a href="/wiki/PureScript" title="PureScript">PureScript</a></li>

<li><a href="/wiki/Reason_(programming_language)" title="Reason (programming


language)">Reason</a></li>

<li><a href="/wiki/WebSharper" title="WebSharper">WebSharper</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-even hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/JavaScript_library" title="JavaScript library">JavaScript library</a></li>

<li><a href="/wiki/JavaScript_syntax" title="JavaScript syntax">JavaScript syntax</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Debugger" title="Debugger">Debuggers</a></th><td
class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/Chrome_(browser)" class="mw-redirect" title="Chrome (browser)">Chrome


DevTools</a></li>

<li><a href="/wiki/Firefox" title="Firefox">Firefox Inspector</a></li>

<li><a href="/wiki/Komodo_IDE" title="Komodo IDE">Komodo IDE</a></li>

<li><a href="/wiki/Microsoft_Edge" title="Microsoft Edge">Microsoft Edge DevTools</a></li>

<li><a href="/wiki/Opera_(web_browser)" title="Opera (web browser)">Opera DevTools</a></li>


<li><a href="/wiki/Safari_(web_browser)" title="Safari (web browser)">Safari Web
Inspector</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Documentation_generator" title="Documentation generator">Doc
generators</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/JSDoc" title="JSDoc">JSDoc</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Editors <span style="font-weight:normal">(<a
href="/wiki/Comparison_of_JavaScript-based_source_code_editors" title="Comparison of JavaScript-
based source code editors">comparison</a>)</span></th><td class="navbox-list-with-group navbox-
list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Ace_(editor)" title="Ace (editor)">Ace</a>

<ul><li><a href="/wiki/Cloud9_IDE" title="Cloud9 IDE">Cloud9 IDE</a></li></ul></li>

<li><a href="/wiki/Atom_(text_editor)" title="Atom (text editor)">Atom</a></li>

<li><a href="/wiki/CodeMirror" title="CodeMirror">CodeMirror</a>

<ul><li><a href="/wiki/Brackets_(text_editor)" title="Brackets (text editor)">Brackets</a></li>

<li><a href="/wiki/Light_Table_(software)" title="Light Table (software)">Light


Table</a></li></ul></li>

<li><a href="/wiki/PhpStorm" class="mw-redirect" title="PhpStorm">PhpStorm</a></li>

<li><a href="/wiki/List_of_Eclipse_projects#Top-level_sub-projects" title="List of Eclipse


projects">Orion</a></li>

<li><a href="/wiki/Visual_Studio" title="Visual Studio">Visual Studio</a>

<ul><li><a href="/wiki/Microsoft_Visual_Studio_Express" title="Microsoft Visual Studio


Express">Visual Studio Express</a></li></ul></li>

<li><a href="/wiki/Visual_Studio_Code" title="Visual Studio Code">Visual Studio Code</a></li>

<li><a href="/wiki/Visual_Studio#Azure_DevOps_Services" title="Visual Studio">Visual Studio Team


Services</a></li>

<li><a href="/wiki/Vim_(text_editor)" title="Vim (text editor)">Vim</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/JavaScript_engine" title="JavaScript engine">Engines</a></th><td
class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/List_of_ECMAScript_engines" title="List of ECMAScript engines">List of


ECMAScript engines</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Software_framework" title="Software
framework">Frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Comparison_of_JavaScript-based_web_frameworks" title="Comparison of


JavaScript-based web frameworks">Comparison of JavaScript frameworks</a></li>

<li><a href="/wiki/List_of_JavaScript_libraries" title="List of JavaScript libraries">List of JavaScript


libraries</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Related <a href="/wiki/Technology" title="Technology">technologies</a></th><td
class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/Ajax_(programming)" title="Ajax (programming)">Ajax</a></li>

<li><a href="/wiki/AssemblyScript" title="AssemblyScript">AssemblyScript</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/Cascading_Style_Sheets" class="mw-redirect" title="Cascading Style


Sheets">Cascading Style Sheets</a></li>

<li><a href="/wiki/Document_Object_Model" title="Document Object Model">Document Object


Model</a></li>

<li><a href="/wiki/HTML" title="HTML">HTML</a>

<ul><li><a href="/wiki/HTML5" title="HTML5">HTML5</a></li></ul></li>

<li><a href="/wiki/JSON" title="JSON">JSON</a></li>

<li><a href="/wiki/WebAssembly" title="WebAssembly">WebAssembly</a></li>

<li><a href="/wiki/WebAuthn" title="WebAuthn">WebAuthn</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Package_manager" title="Package manager">Package
managers</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Npm" title="Npm">npm</a></li>

<li><a href="/wiki/Yarn_(package_manager)" title="Yarn (package manager)">yarn</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Module bundlers</th><td class="navbox-list-with-group navbox-list navbox-even
hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Webpack" title="Webpack">Webpack</a></li>

<li><a href="/wiki/Vite_(software)" title="Vite (software)">Vite</a></li>

<li><a href="/wiki/Esbuild" title="Esbuild">esbuild</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Server-side_JavaScript" class="mw-redirect" title="Server-side
JavaScript">Server-side</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Active_Server_Pages" title="Active Server Pages">Active Server


Pages</a></li>

<li><a href="/wiki/Bun_(software)" title="Bun (software)">Bun</a></li>

<li><a href="/wiki/CommonJS" title="CommonJS">CommonJS</a></li>

<li><a href="/wiki/Deno_(software)" title="Deno (software)">Deno</a></li>

<li><a href="/wiki/JSGI" title="JSGI">JSGI</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li>Wakanda</li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Unit_testing" title="Unit testing">Unit testing</a> frameworks
<span style="font-weight:normal">(<a href="/wiki/List_of_unit_testing_frameworks#JavaScript"
title="List of unit testing frameworks">list</a>)</span></th><td class="navbox-list-with-group
navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Jasmine_(JavaScript_testing_framework)" class="mw-redirect" title="Jasmine


(JavaScript testing framework)">Jasmine</a></li>

<li><a href="/w/[Link]?title=Jest_(JavaScript_framework)&amp;action=edit&amp;redlink=1"
class="new" title="Jest (JavaScript framework) (page does not exist)">Jest</a></li>

<li><a href="/wiki/Mocha_(JavaScript_framework)" title="Mocha (JavaScript


framework)">Mocha</a></li>

<li><a href="/wiki/QUnit" title="QUnit">QUnit</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a></li>

<li><a href="/wiki/Ryan_Dahl" title="Ryan Dahl">Ryan Dahl</a></li>

<li><a href="/wiki/Brendan_Eich" title="Brendan Eich">Brendan Eich</a></li>

<li><a href="/wiki/John_Resig" title="John Resig">John Resig</a></li></ul>

</div></td></tr></tbody></table></div>

<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-


data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1061467846"></div><div role="navigation" class="navbox" aria-
labelledby="Programming_languages" style="padding:3px"><table class="nowraplinks hlist mw-
collapsible expanded navbox-inner mw-made-collapsible" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="2"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default"
aria-expanded="true" tabindex="0"><span class="mw-collapsible-text">hide</span></button><link
rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-
deduplicated-inline-style" href="mw-data:TemplateStyles:r1063604349"><div class="navbar
plainlinks hlist navbar-mini"><ul><li class="nv-view"><a
href="/wiki/Template:Programming_languages" title="Template:Programming languages"><abbr
title="View this template">v</abbr></a></li><li class="nv-talk"><a
href="/wiki/Template_talk:Programming_languages" title="Template talk:Programming
languages"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a
href="/wiki/Special:EditPage/Template:Programming_languages"
title="Special:EditPage/Template:Programming languages"><abbr title="Edit this
template">e</abbr></a></li></ul></div><div id="Programming_languages" style="font-
size:114%;margin:0 4em"><a href="/wiki/Programming_language" title="Programming
language">Programming languages</a></div></th></tr><tr><td class="navbox-abovebelow"
colspan="2"><div>

<ul><li><a href="/wiki/Comparison_of_programming_languages" title="Comparison of programming


languages">Comparison</a></li>

<li><a href="/wiki/Timeline_of_programming_languages" title="Timeline of programming


languages">Timeline</a></li>

<li><a href="/wiki/History_of_programming_languages" title="History of programming


languages">History</a></li></ul>

</div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd"


style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Ada_(programming_language)" title="Ada (programming


language)">Ada</a></li>

<li><a href="/wiki/ALGOL" title="ALGOL">ALGOL</a></li>

<li><a href="/wiki/APL_(programming_language)" title="APL (programming language)">APL</a></li>

<li><a href="/wiki/ArkTS" title="ArkTS">ArkTS</a></li>

<li><a href="/wiki/Assembly_language" title="Assembly language">Assembly</a></li>

<li><a href="/wiki/BASIC" title="BASIC">BASIC</a></li>

<li><a href="/wiki/C_(programming_language)" title="C (programming language)">C</a></li>

<li><a href="/wiki/C%2B%2B" title="C++">C++</a></li>

<li><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming


language)">C#</a></li>

<li><a href="/wiki/Visual_Basic_(classic)" title="Visual Basic (classic)">Classic Visual Basic</a></li>

<li><a href="/wiki/COBOL" title="COBOL">COBOL</a></li>

<li><a href="/wiki/Erlang_(programming_language)" title="Erlang (programming


language)">Erlang</a></li>
<li><a href="/wiki/Forth_(programming_language)" title="Forth (programming
language)">Forth</a></li>

<li><a href="/wiki/Fortran" title="Fortran">Fortran</a></li>

<li><a href="/wiki/Go_(programming_language)" title="Go (programming language)">Go</a></li>

<li><a href="/wiki/Haskell" title="Haskell">Haskell</a></li>

<li><a href="/wiki/Java_(programming_language)" title="Java (programming


language)">Java</a></li>

<li><a class="mw-selflink selflink">JavaScript</a></li>

<li><a href="/wiki/Julia_(programming_language)" title="Julia (programming


language)">Julia</a></li>

<li><a href="/wiki/Kotlin_(programming_language)" title="Kotlin (programming


language)">Kotlin</a></li>

<li><a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></li>

<li><a href="/wiki/Lua_(programming_language)" title="Lua (programming language)">Lua</a></li>

<li><a href="/wiki/MATLAB" title="MATLAB">MATLAB</a></li>

<li><a href="/wiki/ML_(programming_language)" title="ML (programming language)">ML</a></li>

<li><a href="/wiki/Object_Pascal" title="Object Pascal">Object Pascal</a></li>

<li><a href="/wiki/Pascal_(programming_language)" title="Pascal (programming


language)">Pascal</a></li>

<li><a href="/wiki/Perl" title="Perl">Perl</a></li>

<li><a href="/wiki/PHP" title="PHP">PHP</a></li>

<li><a href="/wiki/Prolog" title="Prolog">Prolog</a></li>

<li><a href="/wiki/Python_(programming_language)" title="Python (programming


language)">Python</a></li>

<li><a href="/wiki/R_(programming_language)" title="R (programming language)">R</a></li>

<li><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming


language)">Ruby</a></li>

<li><a href="/wiki/Rust_(programming_language)" title="Rust (programming


language)">Rust</a></li>

<li><a href="/wiki/SQL" title="SQL">SQL</a></li>

<li><a href="/wiki/Scratch_(programming_language)" title="Scratch (programming


language)">Scratch</a></li>

<li><a href="/wiki/Shell_script" title="Shell script">Shell</a></li>

<li><a href="/wiki/Simula" title="Simula">Simula</a></li>


<li><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></li>

<li><a href="/wiki/Swift_(programming_language)" title="Swift (programming


language)">Swift</a></li>

<li><a href="/wiki/Visual_Basic_(.NET)" title="Visual Basic (.NET)">Visual Basic</a></li>

<li><i><a href="/wiki/List_of_programming_languages" title="List of programming


languages">more...</a></i></li></ul>

</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>

<ul><li><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt=""


src="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-
Symbol_list_class.[Link]" decoding="async" width="16" height="16" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-
Symbol_list_class.[Link] 1.5x,
//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-
Symbol_list_class.[Link] 2x" data-file-width="180" data-file-height="185"></span></span>
<b>Lists:</b> <a href="/wiki/List_of_programming_languages" title="List of programming
languages">Alphabetical</a></li>

<li><a href="/wiki/List_of_programming_languages_by_type" title="List of programming languages


by type">Categorical</a></li>

<li><a href="/wiki/Generational_list_of_programming_languages" title="Generational list of


programming languages">Generational</a></li>

<li><a href="/wiki/Non-English-based_programming_languages" title="Non-English-based


programming languages">Non-English-based</a></li>

<li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt=""


src="//[Link]/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-
Symbol_category_class.[Link]" decoding="async" width="16" height="16" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-
Symbol_category_class.[Link] 1.5x,
//[Link]/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-
Symbol_category_class.[Link] 2x" data-file-width="180" data-file-height="185"></span></span> <a
href="/wiki/Category:Programming_languages" title="Category:Programming
languages">Category</a></li></ul>

</div></td></tr></tbody></table></div>

<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-


data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1061467846"></div><div role="navigation" class="navbox" aria-
labelledby="ECMAScript" style="padding:3px"><table class="nowraplinks hlist mw-collapsible
autocollapse navbox-inner mw-made-collapsible mw-collapsed" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="2"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default mw-
collapsible-toggle-collapsed" aria-expanded="false" tabindex="0"><span class="mw-collapsible-
text">show</span></button><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1063604349"><div class="navbar plainlinks hlist navbar-mini"><ul><li
class="nv-view"><a href="/wiki/Template:ECMAScript" title="Template:ECMAScript"><abbr
title="View this template">v</abbr></a></li><li class="nv-talk"><a
href="/wiki/Template_talk:ECMAScript" title="Template talk:ECMAScript"><abbr title="Discuss this
template">t</abbr></a></li><li class="nv-edit"><a
href="/wiki/Special:EditPage/Template:ECMAScript"
title="Special:EditPage/Template:ECMAScript"><abbr title="Edit this
template">e</abbr></a></li></ul></div><div id="ECMAScript" style="font-size:114%;margin:0
4em"><a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a></div></th></tr><tr
style="display: none;"><th scope="row" class="navbox-group" style="width:1%">Dialects</th><td
class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/ActionScript" title="ActionScript">ActionScript</a></li>

<li><a href="/wiki/Caja_project" title="Caja project">Caja</a></li>

<li><a class="mw-selflink selflink">JavaScript</a>

<ul><li><a href="/wiki/JavaScript_engine" title="JavaScript engine">engines</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li></ul></li>

<li><a href="/wiki/JScript" title="JScript">JScript</a></li>

<li><a href="/wiki/JScript_.NET" title="JScript .NET">JScript .NET</a></li>

<li><a href="/wiki/QtScript" title="QtScript">QtScript</a></li>

<li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li>

<li><a href="/wiki/WMLScript" title="WMLScript">WMLScript</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/List_of_ECMAScript_engines" title="List of ECMAScript
engines">Engines</a><br>(comparison)</th><td class="navbox-list-with-group navbox-list navbox-
even" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Presto_(layout_engine)#JavaScript_engines" class="mw-redirect"


title="Presto (layout engine)">Carakan</a></li>

<li><a href="/wiki/Presto_(layout_engine)#JavaScript_engines" class="mw-redirect" title="Presto


(layout engine)">Futhark</a></li>

<li><a href="/wiki/InScript_(JavaScript_engine)" title="InScript (JavaScript engine)">InScript</a></li>

<li><a href="/wiki/WebKit#JavaScriptCore" title="WebKit">JavaScriptCore</a></li>

<li><a href="/wiki/JScript" title="JScript">JScript</a></li>

<li><a href="/wiki/KJS_(software)" class="mw-redirect" title="KJS (software)">KJS</a></li>

<li><a href="/wiki/Presto_(layout_engine)#ECMAScript_engines" class="mw-redirect" title="Presto


(layout engine)">Linear B</a></li>

<li><a href="/wiki/QtScript" title="QtScript">QtScript</a></li>


<li><a href="/wiki/Rhino_(JavaScript_engine)" title="Rhino (JavaScript engine)">Rhino</a></li>

<li><a href="/wiki/SpiderMonkey" title="SpiderMonkey">SpiderMonkey</a>

<ul><li><a href="/wiki/SpiderMonkey#TraceMonkey" title="SpiderMonkey">TraceMonkey</a></li>

<li><a href="/wiki/SpiderMonkey#JägerMonkey"
title="SpiderMonkey">JägerMonkey</a></li></ul></li>

<li><a href="/wiki/Tamarin_(software)" title="Tamarin (software)">Tamarin</a></li>

<li><a href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8</a></li>

<li><a href="/wiki/Chakra_(JavaScript_engine)" title="Chakra (JavaScript engine)">ChakraCore</a>

<ul><li><a href="/wiki/Chakra_(JScript_engine)" title="Chakra (JScript


engine)">Chakra</a></li></ul></li>

<li><a href="/wiki/JScript_.NET" title="JScript .NET">JScript .NET</a></li>

<li><a href="/wiki/Nashorn_(JavaScript_engine)" title="Nashorn (JavaScript


engine)">Nashorn</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%"><a href="/wiki/Software_framework" title="Software
framework">Frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks
navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group"
style="width:1%"><a href="/wiki/Client-side_JavaScript" class="mw-redirect" title="Client-side
JavaScript">Client-side</a></th><td class="navbox-list-with-group navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Dojo_Toolkit" title="Dojo Toolkit">Dojo</a></li>

<li><a href="/wiki/Echo_(framework)" title="Echo (framework)">Echo</a></li>

<li><a href="/wiki/Ext_JS" title="Ext JS">Ext JS</a></li>

<li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">Google Web Toolkit</a></li>

<li><a href="/wiki/JQuery" title="JQuery">jQuery</a></li>

<li><a href="/wiki/Lively_Kernel" title="Lively Kernel">Lively Kernel</a></li>

<li>midori</li>

<li><a href="/wiki/MochiKit" title="MochiKit">MochiKit</a></li>

<li><a href="/wiki/MooTools" title="MooTools">MooTools</a></li>

<li><a href="/wiki/Prototype_JavaScript_Framework" title="Prototype JavaScript


Framework">Prototype</a></li>

<li><a href="/wiki/Pyjs" title="Pyjs">Pyjs</a></li>

<li><a href="/wiki/Qooxdoo" title="Qooxdoo">qooxdoo</a></li>

<li class="mw-empty-elt"></li>
<li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a></li>

<li><a href="/wiki/Spry_framework" title="Spry framework">Spry</a></li>

<li>Wakanda Framework</li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/Server-side_JavaScript" class="mw-redirect" title="Server-side JavaScript">Server-
side</a></th><td class="navbox-list-with-group navbox-list navbox-even"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/Deno_(software)" title="Deno (software)">Deno</a></li>

<li><a href="/wiki/Bun_(software)" title="Bun (software)">Bun</a></li>

<li><a href="/wiki/Jaxer#Aptana_Jaxer" class="mw-redirect" title="Jaxer">Jaxer</a></li>

<li><a href="/wiki/AppJet" title="AppJet">AppJet</a></li>

<li>WakandaDB</li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Multiple</th><td


class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li>Cappuccino</li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/JavaScript_library" title="JavaScript library">Libraries</a></th><td class="navbox-list-
with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/SWFObject" title="SWFObject">SWFObject</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li></ul>

</div></td></tr></tbody></table><div></div></td></tr><tr style="display: none;"><th scope="row"


class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list
navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Brendan_Eich" title="Brendan Eich">Brendan Eich</a></li>

<li><a href="/wiki/Douglas_Crockford" title="Douglas Crockford">Douglas Crockford</a></li>

<li><a href="/wiki/John_Resig" title="John Resig">John Resig</a></li>

<li>Scott Isaacs</li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Dynamic_HTML" title="Dynamic HTML">DHTML</a></li>

<li><a href="/wiki/Ecma_International" title="Ecma International">Ecma International</a></li>


<li><a href="/wiki/JSDoc" title="JSDoc">JSDoc</a></li>

<li><a href="/wiki/JSGI" title="JSGI">JSGI</a></li>

<li><a href="/wiki/JSHint" title="JSHint">JSHint</a></li>

<li><a href="/wiki/JSLint" title="JSLint">JSLint</a></li>

<li><a href="/wiki/JSON" title="JSON">JSON</a></li>

<li><a href="/wiki/JavaScript_Style_Sheets" title="JavaScript Style Sheets">JSSS</a></li>

<li><a href="/wiki/Sputnik_(JavaScript_conformance_test)" title="Sputnik (JavaScript conformance


test)">Sputnik</a></li>

<li><a href="/wiki/Browser_speed_test#SunSpider" title="Browser speed test">SunSpider</a></li>

<li><a href="/wiki/Asynchronous_module_definition" title="Asynchronous module


definition">Asynchronous module definition</a></li>

<li><a href="/wiki/CommonJS" title="CommonJS">CommonJS</a></li></ul>

</div></td></tr><tr style="display: none;"><td class="navbox-abovebelow" colspan="2"><div>

<dl><dt><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt=""


src="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-
Symbol_list_class.[Link]" decoding="async" width="16" height="16" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-
Symbol_list_class.[Link] 1.5x,
//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-
Symbol_list_class.[Link] 2x" data-file-width="180" data-file-height="185"></span></span>
Lists</dt>

<dd><a href="/wiki/List_of_JavaScript_libraries" title="List of JavaScript libraries">JavaScript


libraries</a></dd>

<dd><a href="/wiki/List_of_Ajax_frameworks#JavaScript" title="List of Ajax frameworks">Ajax


frameworks</a></dd>

<dt><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt=""


src="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-
Symbol_list_class.[Link]" decoding="async" width="16" height="16" class="mw-file-element"
srcset="//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-
Symbol_list_class.[Link] 1.5x,
//[Link]/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-
Symbol_list_class.[Link] 2x" data-file-width="180" data-file-height="185"></span></span>
Comparisons</dt>

<dd><a href="/wiki/Comparison_of_JavaScript_frameworks" class="mw-redirect" title="Comparison


of JavaScript frameworks">JavaScript frameworks</a></dd>

<dd><a href="/wiki/Comparison_of_server-side_JavaScript_solutions" class="mw-redirect"


title="Comparison of server-side JavaScript solutions">server-side JavaScript</a></dd></dl>

</div></td></tr></tbody></table></div>
<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1061467846"></div><div role="navigation" class="navbox" aria-
labelledby="Web_browsers" style="padding:3px"><table class="nowraplinks hlist mw-collapsible
autocollapse navbox-inner mw-made-collapsible mw-collapsed" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="2"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default mw-
collapsible-toggle-collapsed" aria-expanded="false" tabindex="0"><span class="mw-collapsible-
text">show</span></button><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1063604349"><div class="navbar plainlinks hlist navbar-mini"><ul><li
class="nv-view"><a href="/wiki/Template:Web_browsers" title="Template:Web browsers"><abbr
title="View this template">v</abbr></a></li><li class="nv-talk"><a
href="/wiki/Template_talk:Web_browsers" title="Template talk:Web browsers"><abbr title="Discuss
this template">t</abbr></a></li><li class="nv-edit"><a
href="/wiki/Special:EditPage/Template:Web_browsers" title="Special:EditPage/Template:Web
browsers"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Web_browsers"
style="font-size:114%;margin:0 4em"><a href="/wiki/Web_browser" title="Web browser">Web
browsers</a></div></th></tr><tr style="display: none;"><td colspan="2" class="navbox-list navbox-
odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table
class="nowraplinks mw-collapsible uncollapsed navbox-subgroup mw-made-collapsible"
style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><button
type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default" aria-expanded="true"
tabindex="0"><span class="mw-collapsible-text">hide</span></button><div
id="*_Features_*_standards_*_protocols" style="font-size:114%;margin:0 4em">

<ul><li>Features</li>

<li>standards</li>

<li>protocols</li></ul>

</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd"


style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks
navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group"
style="width:1%">Features</th><td class="navbox-list-with-group navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Bookmark_(digital)" title="Bookmark (digital)">Bookmarks</a></li>

<li><a href="/wiki/Browser_extension" title="Browser extension">Extensions</a></li>

<li><a href="/wiki/Private_browsing" title="Private browsing">Privacy mode</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/Web_standards" title="Web standards">Web standards</a></th><td class="navbox-list-
with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/HTML" title="HTML">HTML</a>

<ul><li><a href="/wiki/HTML5" title="HTML5">v5</a></li></ul></li>

<li><a href="/wiki/CSS" title="CSS">CSS</a></li>


<li><a href="/wiki/Document_Object_Model" title="Document Object Model">DOM</a></li>

<li><a class="mw-selflink selflink">JavaScript</a>

<ul><li><a href="/wiki/WebAssembly" title="WebAssembly">WebAssembly</a></li>

<li><a href="/wiki/Web_storage" title="Web storage">Web storage</a></li>

<li><a href="/wiki/Indexed_Database_API" title="Indexed Database API">IndexedDB</a></li>

<li><a href="/wiki/WebGL" title="WebGL">WebGL</a></li>

<li><a href="/wiki/WebGPU" title="WebGPU">WebGPU</a></li></ul></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Protocols</th><td


class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/HTTP" title="HTTP">HTTP</a>

<ul><li><a href="/wiki/HTTPS" title="HTTPS">Encryption</a></li>

<li><a href="/wiki/HTTP_cookie" title="HTTP cookie">Cookies</a>

<ul><li><a href="/wiki/Third-party_cookies" title="Third-party


cookies">third-party</a></li></ul></li></ul></li>

<li><a href="/wiki/Online_Certificate_Status_Protocol" title="Online Certificate Status


Protocol">OCSP</a></li>

<li><a href="/wiki/WebRTC" title="WebRTC">WebRTC</a></li>

<li><a href="/wiki/WebSocket" title="WebSocket">WebSocket</a></li></ul>

</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr
style="display: none;"><td colspan="2" class="navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-
collapsible mw-collapsed navbox-subgroup mw-made-collapsible" style="border-
spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><button type="button"
class="mw-collapsible-toggle mw-collapsible-toggle-default mw-collapsible-toggle-collapsed" aria-
expanded="false" tabindex="0"><span class="mw-collapsible-text">show</span></button><div
id="Active" style="font-size:114%;margin:0 4em">Active</div></th></tr><tr style="display:
none;"><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-
spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a
href="/wiki/Blink_(browser_engine)" title="Blink (browser engine)">Blink</a>-based</th><td
class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/Google_Chrome" title="Google Chrome">Google Chrome</a></li>

<li><a href="/wiki/Chromium_(web_browser)" title="Chromium (web browser)">Chromium</a></li>

<li><a href="/wiki/Arc_(web_browser)" title="Arc (web browser)">Arc</a></li>

<li><a href="/wiki/Avast_Secure_Browser" title="Avast Secure Browser">Avast</a></li>


<li><a href="/wiki/Brave_(web_browser)" title="Brave (web browser)">Brave</a></li>

<li><a href="/wiki/C%E1%BB%91c_C%E1%BB%91c" title="Cốc Cốc">Coc Coc</a></li>

<li><a href="/wiki/Comodo_Dragon" title="Comodo Dragon">Comodo</a></li>

<li><a href="/wiki/Dooble" title="Dooble">Dooble</a></li>

<li><a href="/wiki/Epic_(web_browser)" title="Epic (web browser)">Epic</a></li>

<li><a href="/wiki/Falkon" title="Falkon">Falkon</a></li>

<li><a href="/wiki/Maxthon" title="Maxthon">Maxthon</a></li>

<li><a href="/wiki/Microsoft_Edge" title="Microsoft Edge">Microsoft Edge</a></li>

<li><a href="/wiki/Opera_(web_browser)" title="Opera (web browser)">Opera</a></li>

<li><a href="/wiki/Otter_Browser" title="Otter Browser">Otter</a></li>

<li><a href="/wiki/Puffin_Browser" title="Puffin Browser">Puffin </a></li>

<li><a href="/wiki/Samsung_Internet" title="Samsung Internet">Samsung Internet</a></li>

<li><a href="/wiki/Amazon_Silk" title="Amazon Silk">Silk</a></li>

<li><a href="/wiki/Sleipnir_(web_browser)" title="Sleipnir (web browser)">Sleipnir</a></li>

<li><a href="/wiki/SRWare_Iron" title="SRWare Iron">SRWare</a></li>

<li><a href="/wiki/Supermium" title="Supermium">Supermium</a></li>

<li><a href="/wiki/UC_Browser" title="UC Browser">UC</a></li>

<li><a href="/wiki/Ungoogled-chromium" title="Ungoogled-chromium">ungoogled</a></li>

<li><a href="/wiki/Vivaldi_(web_browser)" title="Vivaldi (web browser)">Vivaldi</a></li>

<li><a href="/wiki/Naver_Whale" title="Naver Whale">Whale</a></li>

<li><a href="/wiki/Yandex_Browser" title="Yandex Browser">Yandex</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/Gecko_(software)" title="Gecko (software)">Gecko</a>-based</th><td class="navbox-
list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0
0.25em">

<ul><li><a href="/wiki/Firefox" title="Firefox">Firefox</a></li>

<li><a href="/wiki/Floorp" title="Floorp">Floorp</a></li>

<li><a href="/wiki/GNU_IceCat" title="GNU IceCat">GNU IceCat</a></li>

<li><a href="/wiki/LibreWolf" title="LibreWolf">LibreWolf</a></li>

<li><a href="/wiki/Midori_(web_browser)" title="Midori (web browser)">Midori</a></li>

<li><a href="/wiki/SlimBrowser" title="SlimBrowser">SlimBrowser</a></li>

<li><a href="/wiki/Tor_Browser" class="mw-redirect" title="Tor Browser">Tor Browser</a></li>


<li>Gecko <a href="/wiki/Fork_(software_development)" title="Fork (software
development)">forks</a>

<ul><li><a href="/wiki/Basilisk_(web_browser)" title="Basilisk (web browser)">Basilisk</a></li>

<li><a href="/wiki/K-Meleon" title="K-Meleon">K-Meleon</a></li>

<li><a href="/wiki/Pale_Moon" title="Pale Moon">Pale Moon</a></li>

<li><a href="/wiki/SeaMonkey" title="SeaMonkey">SeaMonkey</a></li>

<li><a href="/wiki/Waterfox" title="Waterfox">Waterfox</a></li></ul></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/WebKit" title="WebKit">WebKit</a>-based</th><td class="navbox-list-with-group
navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Safari_(web_browser)" title="Safari (web browser)">Safari</a></li>

<li><a href="/wiki/GNOME_Web" title="GNOME Web">GNOME Web</a></li>

<li><a href="/wiki/ICab" title="ICab">iCab</a></li>

<li><a href="/wiki/Konqueror" title="Konqueror">Konqueror</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td


class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/360_Secure_Browser" title="360 Secure Browser">360</a></li>

<li><a href="/wiki/DuckDuckGo_Private_Browser" title="DuckDuckGo Private


Browser">DuckDuckGo</a></li>

<li><a href="/wiki/Eww_(web_browser)" title="Eww (web browser)">eww</a></li>

<li><a href="/wiki/Flow_(web_browser)" title="Flow (web browser)">Flow</a></li>

<li><a href="/wiki/Links_(web_browser)" title="Links (web browser)">Links</a></li>

<li><a href="/wiki/Lunascape" title="Lunascape">Lunascape</a></li>

<li><a href="/wiki/Lynx_(web_browser)" title="Lynx (web browser)">Lynx</a></li>

<li><a href="/wiki/NetFront" title="NetFront">NetFront</a></li>

<li><a href="/wiki/NetSurf" title="NetSurf">NetSurf</a></li>

<li><a href="/wiki/QQ_Browser" title="QQ Browser">QQ</a></li>

<li><a href="/wiki/Qutebrowser" title="Qutebrowser">qutebrowser</a></li>

<li><a href="/wiki/W3m" title="W3m">w3m</a></li></ul>

</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr
style="display: none;"><td colspan="2" class="navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-
collapsible mw-collapsed navbox-subgroup mw-made-collapsible" style="border-
spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><button type="button"
class="mw-collapsible-toggle mw-collapsible-toggle-default mw-collapsible-toggle-collapsed" aria-
expanded="false" tabindex="0"><span class="mw-collapsible-text">show</span></button><div
id="Discontinued" style="font-size:114%;margin:0 4em">Discontinued</div></th></tr><tr
style="display: none;"><td colspan="2" class="navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks
navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group"
style="width:1%"><a href="/wiki/Blink_(browser_engine)" title="Blink (browser engine)">Blink</a>-
based</th><td class="navbox-list-with-group navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Beaker_(web_browser)" title="Beaker (web browser)">Beaker</a></li>

<li><a href="/wiki/Citrio" title="Citrio">Citrio</a></li>

<li><a href="/wiki/Flock_(web_browser)" title="Flock (web browser)">Flock</a></li>

<li><a href="/wiki/Redcore" title="Redcore">Redcore</a></li>

<li><a href="/wiki/Rockmelt" title="Rockmelt">Rockmelt</a></li>

<li><a href="/wiki/SalamWeb" title="SalamWeb">SalamWeb</a></li>

<li><a href="/wiki/Sputnik_(search_engine)#Browser" title="Sputnik (search


engine)">Sputnik</a></li>

<li><a href="/wiki/Torch_(web_browser)" title="Torch (web browser)">Torch</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/Gecko_(software)" title="Gecko (software)">Gecko</a>-based</th><td class="navbox-
list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0
0.25em">

<ul><li><a href="/wiki/Beonex_Communicator" title="Beonex Communicator">Beonex</a></li>

<li><a href="/wiki/Camino_(web_browser)" title="Camino (web browser)">Camino</a></li>

<li><a href="/wiki/Classilla" title="Classilla">Classilla</a></li>

<li><a href="/wiki/Conkeror" title="Conkeror">Conkeror</a></li>

<li><a href="/wiki/Firefox_Lite" title="Firefox Lite">Firefox Lite</a></li>

<li><a href="/wiki/Galeon" title="Galeon">Galeon</a></li>

<li><a href="/wiki/Ghostzilla" title="Ghostzilla">Ghostzilla</a></li>

<li><a href="/wiki/Comodo_IceDragon" title="Comodo IceDragon">IceDragon</a></li>

<li><a href="/wiki/Kazehakase" title="Kazehakase">Kazehakase</a></li>

<li><a href="/wiki/Kylo_(web_browser)" title="Kylo (web browser)">Kylo</a></li>

<li><a href="/wiki/IBM_Lotus_Symphony" title="IBM Lotus Symphony">Lotus</a></li>

<li><a href="/wiki/MicroB" title="MicroB">MicroB</a></li>

<li><a href="/wiki/Minimo" title="Minimo">Minimo</a></li>


<li><a href="/wiki/Mozilla_Application_Suite" title="Mozilla Application Suite">Mozilla suite</a></li>

<li><a href="/wiki/PirateBrowser" title="PirateBrowser">PirateBrowser</a></li>

<li><a href="/wiki/AT%26T_Pogo" title="AT&amp;T Pogo">Pogo</a></li>

<li><a href="/wiki/Kirix_Strata" title="Kirix Strata">Strata</a></li>

<li><a href="/wiki/Swiftfox" title="Swiftfox">Swiftfox</a></li>

<li><a href="/wiki/Swiftweasel" title="Swiftweasel">Swiftweasel</a></li>

<li><a href="/wiki/TenFourFox" class="mw-redirect" title="TenFourFox">TenFourFox</a></li>

<li><a href="/wiki/Timberwolf_(web_browser)" title="Timberwolf (web


browser)">Timberwolf</a></li>

<li><a href="/wiki/XB_Browser" title="XB Browser">xB</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/Trident_(software)" title="Trident (software)">MSHTML</a>-based</th><td
class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/Internet_Explorer" title="Internet Explorer">Internet Explorer</a></li>

<li><a href="/wiki/AOL_Explorer" title="AOL Explorer">AOL</a></li>

<li><a href="/wiki/Deepnet_Explorer" title="Deepnet Explorer">Deepnet</a></li>

<li><a href="/wiki/GreenBrowser" title="GreenBrowser">GreenBrowser</a></li>

<li><a href="/wiki/MediaBrowser" title="MediaBrowser">MediaBrowser</a></li>

<li><a href="/wiki/NeoPlanet" title="NeoPlanet">NeoPlanet</a></li>

<li><a href="/wiki/NetCaptor" title="NetCaptor">NetCaptor</a></li>

<li><a href="/wiki/SpaceTime_(software)#SpaceTime_Browser" title="SpaceTime


(software)">SpaceTime</a></li>

<li><a href="/wiki/ZAC_Browser" title="ZAC Browser">ZAC</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a


href="/wiki/WebKit" title="WebKit">WebKit</a>-based</th><td class="navbox-list-with-group
navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Arora_(web_browser)" title="Arora (web browser)">Arora</a></li>

<li><a href="/wiki/Bolt_(web_browser)" title="Bolt (web browser)">BOLT</a></li>

<li><a href="/wiki/Dolphin_Browser" title="Dolphin Browser">Dolphin</a></li>

<li><a href="/wiki/Fluid_(web_browser)" title="Fluid (web browser)">Fluid</a></li>

<li><a href="/wiki/Google_TV_(smart_TV_platform)" class="mw-redirect" title="Google TV (smart TV


platform)">Google TV</a></li>

<li><a href="/wiki/Iris_Browser" title="Iris Browser">Iris</a></li>


<li><a href="/wiki/Mercury_Browser" title="Mercury Browser">Mercury</a></li>

<li><a href="/wiki/Nokia_Browser_for_Symbian" title="Nokia Browser for Symbian">Nokia


Symbian</a></li>

<li><a href="/wiki/OmniWeb" title="OmniWeb">OmniWeb</a></li>

<li><a href="/wiki/Opera_Coast" title="Opera Coast">Opera Coast</a></li>

<li><a href="/wiki/Origyn_Web_Browser" title="Origyn Web Browser">Origyn</a></li>

<li><a href="/wiki/QtWeb" title="QtWeb">QtWeb</a></li>

<li><a href="/wiki/Shiira" title="Shiira">Shiira</a></li>

<li><a href="/wiki/Steel_(web_browser)" title="Steel (web browser)">Steel</a></li>

<li><a href="/wiki/Surf_(web_browser)" title="Surf (web browser)">surf</a></li>

<li><a href="/wiki/Uzbl" title="Uzbl">Uzbl</a></li>

<li><a href="/wiki/WebPositive" class="mw-redirect" title="WebPositive">WebPositive</a></li>

<li><a href="/wiki/Xombrero" title="Xombrero">xombrero</a></li></ul>

</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td


class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div
style="padding:0 0.25em">

<ul><li><a href="/wiki/Abaco_(web_browser)" title="Abaco (web browser)">abaco</a></li>

<li><a href="/wiki/Amaya_(web_editor)" title="Amaya (web editor)">Amaya</a></li>

<li><a href="/wiki/Arachne_(web_browser)" title="Arachne (web browser)">Arachne</a></li>

<li><a href="/wiki/Arena_(web_browser)" title="Arena (web browser)">Arena</a></li>

<li><a href="/wiki/Blazer_(web_browser)" title="Blazer (web browser)">Blazer</a></li>

<li><a href="/wiki/Cake_Browser" title="Cake Browser">Cake</a></li>

<li><a href="/wiki/Charon_(web_browser)" title="Charon (web browser)">Charon</a></li>

<li><a href="/wiki/CM_Browser" title="CM Browser">CM</a></li>

<li><a href="/wiki/Microsoft_Live_Labs_Deepfish" title="Microsoft Live Labs


Deepfish">Deepfish</a></li>

<li><a href="/wiki/Dillo" title="Dillo">Dillo</a></li>

<li><a href="/wiki/Microsoft_Edge_Legacy" class="mw-redirect" title="Microsoft Edge Legacy">Edge


Legacy</a></li>

<li><a href="/wiki/ELinks" title="ELinks">ELinks</a></li>

<li><a href="/wiki/Gazelle_(web_browser)" title="Gazelle (web browser)">Gazelle</a></li>

<li><a href="/wiki/HotJava" title="HotJava">HotJava</a></li>


<li><a href="/wiki/IBM_Home_Page_Reader" title="IBM Home Page Reader">IBM Home Page
Reader</a></li>

<li><a href="/wiki/IBM_WebExplorer" title="IBM WebExplorer">IBM WebExplorer</a></li>

<li><a href="/wiki/IBrowse" title="IBrowse">IBrowse</a></li>

<li><a href="/wiki/KidZui" title="KidZui">KidZui</a></li>

<li><a href="/wiki/Line_Mode_Browser" title="Line Mode Browser">Line Mode</a></li>

<li><a href="/wiki/Mosaic_(web_browser)" title="Mosaic (web browser)">Mosaic</a></li>

<li><a href="/wiki/MSN_TV" title="MSN TV">MSN TV</a></li>

<li><a href="/wiki/NetPositive" class="mw-redirect" title="NetPositive">NetPositive</a></li>

<li><a href="/wiki/Netscape_(web_browser)" title="Netscape (web browser)">Netscape</a></li>

<li><a href="/wiki/Skweezer" title="Skweezer">Skweezer</a></li>

<li><a href="/wiki/Skyfire_(company)" title="Skyfire (company)">Skyfire</a></li>

<li><a href="/wiki/ThunderHawk" title="ThunderHawk">ThunderHawk</a></li>

<li><a href="/wiki/Vision_Mobile_Browser" title="Vision Mobile Browser">Vision</a></li>

<li><a href="/wiki/WinWAP" title="WinWAP">WinWAP</a></li>

<li><a href="/wiki/WorldWideWeb" title="WorldWideWeb">WorldWideWeb</a></li></ul>

</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr
style="display: none;"><td class="navbox-abovebelow" colspan="2"><div>

<ul><li><a href="/wiki/Category:Web_browsers" title="Category:Web browsers">Category</a></li>

<li><a href="/wiki/Comparison_of_web_browsers" title="Comparison of web


browsers">Comparisons</a></li>

<li><a href="/wiki/List_of_web_browsers" title="List of web browsers">List</a></li></ul>

</div></td></tr></tbody></table></div>

<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-


data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1061467846"></div><div role="navigation" class="navbox" aria-
labelledby="[Link]" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse
navbox-inner mw-made-collapsible mw-collapsed" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="3"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default mw-
collapsible-toggle-collapsed" aria-expanded="false" tabindex="0"><span class="mw-collapsible-
text">show</span></button><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1063604349"><div class="navbar plainlinks hlist navbar-mini"><ul><li
class="nv-view"><a href="/wiki/Template:NodeJs" title="Template:NodeJs"><abbr title="View this
template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:NodeJs"
title="Template talk:NodeJs"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-
edit"><a href="/wiki/Special:EditPage/Template:NodeJs"
title="Special:EditPage/Template:NodeJs"><abbr title="Edit this
template">e</abbr></a></li></ul></div><div id="[Link]" style="font-size:114%;margin:0 4em"><a
href="/wiki/[Link]" title="[Link]">[Link]</a></div></th></tr><tr style="display: none;"><th
scope="row" class="navbox-group" style="width:1%">Platform</th><td class="navbox-list-with-
group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/Npm" title="Npm">npm</a></li>

<li><a href="/wiki/V8_(JavaScript_engine)" title="V8 (JavaScript engine)">V8</a></li>

<li><a href="/wiki/CommonJS" title="CommonJS">CommonJS</a></li></ul>

</div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0


2px"><div><span typeof="mw:File"><a href="/wiki/File:Node.js_logo.svg" class="mw-file-
description"><img
src="//[Link]/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/100px-
Node.js_logo.[Link]" decoding="async" width="100" height="61" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/150px-
Node.js_logo.[Link] 1.5x,
//[Link]/wikipedia/commons/thumb/d/d9/Node.js_logo.svg/200px-
Node.js_logo.[Link] 2x" data-file-width="590"
data-file-height="361"></a></span></div></td></tr><tr style="display: none;"><th scope="row"
class="navbox-group" style="width:1%">Frameworks</th><td class="navbox-list-with-group navbox-
list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/MEAN_(software_bundle)" class="mw-redirect" title="MEAN (software


bundle)">MEAN</a>

<ul><li><a href="/wiki/MongoDB" title="MongoDB">MongoDB</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/AngularJS" title="AngularJS">AngularJS</a>/<a


href="/wiki/Angular_(web_framework)" title="Angular (web
framework)">Angular</a></li></ul></li>

<li>MEEN (substituted with <a href="/wiki/[Link]" title="[Link]">[Link]</a>)</li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/Meteor_(web_framework)" title="Meteor (web framework)">Meteor</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a> (uses [Link])</li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Libraries</th><td class="navbox-list-with-group navbox-list navbox-odd hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a href="/wiki/Lodash" title="Lodash">Lodash</a></li>


<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li>

<li><a href="/wiki/[Link]" class="mw-redirect" title="[Link]">[Link]</a></li>

<li><a href="/wiki/[Link]" title="[Link]">[Link]</a></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Languages</th><td class="navbox-list-with-group navbox-list navbox-even hlist"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><a class="mw-selflink selflink">JavaScript</a></li>

<li><a href="/wiki/CoffeeScript" title="CoffeeScript">CoffeeScript</a></li>

<li><a href="/wiki/TypeScript" title="TypeScript">TypeScript</a></li></ul>

</div></td></tr></tbody></table></div>

<style data-mw-deduplicate="TemplateStyles:r1130092004">.mw-parser-output .portal-bar{font-


size:88%;font-weight:bold;display:flex;justify-content:center;align-items:baseline}.mw-parser-
output .portal-bar-bordered{padding:0 2em;background-color:#fdfdfd;border:1px solid
#a2a9b1;clear:both;margin:1em auto 0}.mw-parser-output .portal-bar-related{font-size:100%;justify-
content:flex-start}.mw-parser-output .portal-bar-unbordered{padding:0 1.7em;margin-left:0}.mw-
parser-output .portal-bar-header{margin:0 1em 0 0.5em;flex:0 0 auto;min-height:24px}.mw-parser-
output .portal-bar-content{display:flex;flex-flow:row wrap;flex:0 1 auto;padding:0.15em 0;column-
gap:1em;align-items:baseline;margin:0;list-style:none}.mw-parser-output .portal-bar-content-
related{margin:0;list-style:none}.mw-parser-output .portal-bar-item{display:inline-
block;margin:0.15em 0.2em;min-height:24px;line-height:24px}@media screen and (max-
width:768px){.mw-parser-output .portal-bar{font-size:88%;font-weight:bold;display:flex;flex-
flow:column wrap;align-items:baseline}.mw-parser-output .portal-bar-header{text-
align:center;flex:0;padding-left:0.5em;margin:0 auto}.mw-parser-output .portal-bar-related{font-
size:100%;align-items:flex-start}.mw-parser-output .portal-bar-content{display:flex;flex-flow:row
wrap;align-items:center;flex:0;column-gap:1em;border-top:1px solid #a2a9b1;margin:0 auto;list-
style:none}.mw-parser-output .portal-bar-content-related{border-top:none;margin:0;list-
style:none}}.mw-parser-output .navbox+link+.portal-bar,.mw-parser-output .navbox+style+.portal-
bar,.mw-parser-output .navbox+link+.portal-bar-bordered,.mw-parser-output .navbox+style+.portal-
bar-bordered,.mw-parser-output .sister-bar+link+.portal-bar,.mw-parser-output .sister-
bar+style+.portal-bar,.mw-parser-output .portal-bar+.navbox-styles+.navbox,.mw-parser-
output .portal-bar+.navbox-styles+.sister-bar{margin-top:-1px}</style><div class="portal-bar noprint
metadata noviewer portal-bar-bordered" role="navigation" aria-label="Portals"><span class="portal-
bar-header"><a href="/wiki/Wikipedia:Contents/Portals"
title="Wikipedia:Contents/Portals">Portal</a>:</span><ul class="portal-bar-content"><li
class="portal-bar-item"><span class="nowrap"><span typeof="mw:File"><a
href="/wiki/File:[Link]" class="mw-file-description"><img alt="icon"
src="//[Link]/wikipedia/commons/thumb/6/6f/[Link]/17px-
[Link]" decoding="async" width="17" height="19" class="mw-file-element"
srcset="//[Link]/wikipedia/commons/thumb/6/6f/[Link]/25px-
[Link] 1.5x, //[Link]/wikipedia/commons/thumb/6/6f/Octicons-
[Link]/[Link] 2x" data-file-width="896"
data-file-height="1024"></a></span> </span><a href="/wiki/Portal:Computer_programming"
title="Portal:Computer programming">Computer programming</a></li></ul></div>
<div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-
data:TemplateStyles:r1061467846"><style data-mw-
deduplicate="TemplateStyles:r1038841319">.mw-parser-output .tooltip-dotted{border-bottom:1px
dotted;cursor:help}</style></div><div role="navigation" class="navbox authority-control" aria-
labelledby="Authority_control_databases_frameless&amp;#124;text-
top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//
[Link]/wiki/
Q2005#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata"
style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner mw-
made-collapsible mw-collapsed" style="border-
spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title"
colspan="2"><button type="button" class="mw-collapsible-toggle mw-collapsible-toggle-default mw-
collapsible-toggle-collapsed" aria-expanded="false" tabindex="0"><span class="mw-collapsible-
text">show</span></button><div id="Authority_control_databases_frameless&amp;#124;text-
top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//
[Link]/wiki/
Q2005#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata" style="font-
size:114%;margin:0 4em"><a href="/wiki/Help:Authority_control" title="Help:Authority
control">Authority control databases</a> <span class="mw-valign-text-top noprint"
typeof="mw:File/Frameless"><a href="[Link] title="Edit
this at Wikidata"><img alt="Edit this at Wikidata"
src="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/10px-
OOjs_UI_icon_edit-[Link]" decoding="async" width="10" height="10" class="mw-
file-element" srcset="//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-
[Link]/15px-OOjs_UI_icon_edit-[Link] 1.5x,
//[Link]/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-[Link]/20px-
OOjs_UI_icon_edit-[Link] 2x" data-file-width="20"
data-file-height="20"></a></span></div></th></tr><tr style="display: none;"><th scope="row"
class="navbox-group" style="width:1%">International</th><td class="navbox-list-with-group navbox-
list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><span class="uid"><a rel="nofollow" class="external text"


href="[Link]

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">National</th><td class="navbox-list-with-group navbox-list navbox-even"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><span class="uid"><a rel="nofollow" class="external text"


href="[Link]
action=display&amp;authority_id=XX542465">Spain</a></span></li>

<li><span class="uid"><a rel="nofollow" class="external text"


href="[Link]

<li><span class="uid"><a rel="nofollow" class="external text"


href="[Link] data</a></span></li>
<li><span class="uid"><a rel="nofollow" class="external text" href="[Link]
1">Germany</a></span></li>

<li><span class="uid"><a rel="nofollow" class="external text" href="[Link]


func=find-
b&amp;local_base=NLX10&amp;find_code=UID&amp;request=987007551493605171">Israel</
a></span></li>

<li><span class="uid"><a rel="nofollow" class="external text"


href="[Link] States</a></span></li>

<li><span class="uid"><span class="rt-commentedText tooltip tooltip-dotted" title="JavaScript


(programovací jazyk)"><a rel="nofollow" class="external text" href="[Link]
func=find-c&amp;local_base=aut&amp;ccl_term=ica=ph117651&amp;CON_LNG=ENG">Czech
Republic</a></span></span></li></ul>

</div></td></tr><tr style="display: none;"><th scope="row" class="navbox-group"


style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd"
style="width:100%;padding:0"><div style="padding:0 0.25em">

<ul><li><span class="uid"><a rel="nofollow" class="external text"


href="[Link]

</div></td></tr></tbody></table></div></div><!--esi <esi:include src="/esitest-


fa8a495983347898/content" /> --><noscript><img
src="[Link] alt="" width="1"
height="1" style="border: none; position: absolute;"></noscript>

<div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr"


href="[Link]
[Link]/w/[Link]?title=JavaScript&amp;oldid=1219507869</a>"</div></div>

<div id="catlinks" class="catlinks" data-mw="interface"><div


id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category"
title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:JavaScript"
title="Category:JavaScript">JavaScript</a></li><li><a href="/wiki/Category:American_inventions"
title="Category:American inventions">American inventions</a></li><li><a
href="/wiki/Category:Cross-platform_software" title="Category:Cross-platform software">Cross-
platform software</a></li><li><a
href="/wiki/Category:Dynamically_typed_programming_languages" title="Category:Dynamically
typed programming languages">Dynamically typed programming languages</a></li><li><a
href="/wiki/Category:Functional_languages" title="Category:Functional languages">Functional
languages</a></li><li><a href="/wiki/Category:Object-based_programming_languages"
title="Category:Object-based programming languages">Object-based programming
languages</a></li><li><a href="/wiki/Category:High-level_programming_languages"
title="Category:High-level programming languages">High-level programming
languages</a></li><li><a href="/wiki/Category:Programming_languages_created_in_1995"
title="Category:Programming languages created in 1995">Programming languages created in
1995</a></li><li><a href="/wiki/Category:Programming_languages_with_an_ISO_standard"
title="Category:Programming languages with an ISO standard">Programming languages with an ISO
standard</a></li><li><a href="/wiki/Category:Prototype-based_programming_languages"
title="Category:Prototype-based programming languages">Prototype-based programming
languages</a></li><li><a href="/wiki/Category:Scripting_languages" title="Category:Scripting
languages">Scripting languages</a></li><li><a href="/wiki/Category:Web_programming"
title="Category:Web programming">Web programming</a></li></ul></div><div id="mw-hidden-
catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a
href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template
wayback links">Webarchive template wayback links</a></li><li><a
href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short
description">Articles with short description</a></li><li><a
href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description
matches Wikidata">Short description matches Wikidata</a></li><li><a
href="/wiki/Category:Use_dmy_dates_from_March_2024" title="Category:Use dmy dates from
March 2024">Use dmy dates from March 2024</a></li><li><a
href="/wiki/Category:Wikipedia_indefinitely_semi-protected_pages" title="Category:Wikipedia
indefinitely semi-protected pages">Wikipedia indefinitely semi-protected pages</a></li><li><a
href="/wiki/Category:Articles_with_excerpts" title="Category:Articles with excerpts">Articles with
excerpts</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements"
title="Category:All articles with unsourced statements">All articles with unsourced
statements</a></li><li><a
href="/wiki/Category:Articles_with_unsourced_statements_from_August_2023"
title="Category:Articles with unsourced statements from August 2023">Articles with unsourced
statements from August 2023</a></li><li><a
href="/wiki/Category:All_articles_with_failed_verification" title="Category:All articles with failed
verification">All articles with failed verification</a></li><li><a
href="/wiki/Category:Articles_with_failed_verification_from_March_2017" title="Category:Articles
with failed verification from March 2017">Articles with failed verification from March
2017</a></li><li><a
href="/wiki/Category:Pages_using_Sister_project_links_with_wikidata_namespace_mismatch"
title="Category:Pages using Sister project links with wikidata namespace mismatch">Pages using
Sister project links with wikidata namespace mismatch</a></li><li><a
href="/wiki/Category:Pages_using_Sister_project_links_with_hidden_wikidata"
title="Category:Pages using Sister project links with hidden wikidata">Pages using Sister project links
with hidden wikidata</a></li><li><a
href="/wiki/Category:Pages_using_Sister_project_links_with_default_search" title="Category:Pages
using Sister project links with default search">Pages using Sister project links with default
search</a></li><li><a href="/wiki/Category:Articles_with_hAudio_microformats"
title="Category:Articles with hAudio microformats">Articles with hAudio
microformats</a></li><li><a href="/wiki/Category:Spoken_articles" title="Category:Spoken
articles">Spoken articles</a></li><li><a href="/wiki/Category:Articles_with_Curlie_links"
title="Category:Articles with Curlie links">Articles with Curlie links</a></li><li><a
href="/wiki/Category:Articles_with_FAST_identifiers" title="Category:Articles with FAST
identifiers">Articles with FAST identifiers</a></li><li><a
href="/wiki/Category:Articles_with_BNE_identifiers" title="Category:Articles with BNE
identifiers">Articles with BNE identifiers</a></li><li><a
href="/wiki/Category:Articles_with_BNF_identifiers" title="Category:Articles with BNF
identifiers">Articles with BNF identifiers</a></li><li><a
href="/wiki/Category:Articles_with_BNFdata_identifiers" title="Category:Articles with BNFdata
identifiers">Articles with BNFdata identifiers</a></li><li><a
href="/wiki/Category:Articles_with_GND_identifiers" title="Category:Articles with GND
identifiers">Articles with GND identifiers</a></li><li><a
href="/wiki/Category:Articles_with_J9U_identifiers" title="Category:Articles with J9U
identifiers">Articles with J9U identifiers</a></li><li><a
href="/wiki/Category:Articles_with_LCCN_identifiers" title="Category:Articles with LCCN
identifiers">Articles with LCCN identifiers</a></li><li><a
href="/wiki/Category:Articles_with_NKC_identifiers" title="Category:Articles with NKC
identifiers">Articles with NKC identifiers</a></li><li><a
href="/wiki/Category:Articles_with_SUDOC_identifiers" title="Category:Articles with SUDOC
identifiers">Articles with SUDOC identifiers</a></li><li><a
href="/wiki/Category:Articles_with_example_JavaScript_code" title="Category:Articles with example
JavaScript code">Articles with example JavaScript code</a></li></ul></div></div>

</div>

</main>

</div>

<div class="mw-footer-container">

<footer id="footer" class="mw-footer" role="contentinfo">

<ul id="footer-info">

<li id="footer-info-lastmod"> This page was last edited on 18 April 2024, at 05:01<span
class="anonymous-show">&nbsp;(UTC)</span>.</li>

<li id="footer-info-copyright">Text is available under the <a rel="license"


href="//[Link]/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-
ShareAlike_4.0_International_License">Creative Commons Attribution-ShareAlike License 4.0</a><a
rel="license" href="//[Link]/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-
ShareAlike_4.0_International_License" style="display:none;"></a>;

additional terms may apply. By using this site, you agree to the <a
href="//[Link]/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of
Use</a> and <a
href="//[Link]/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy
Policy</a>. Wikipedia® is a registered trademark of the <a
href="//[Link]/">Wikimedia Foundation, Inc.</a>, a non-profit
organization.</li>

</ul>

<ul id="footer-places">
<li id="footer-places-privacy"><a
href="[Link]
policy</a></li>

<li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li>

<li id="footer-places-disclaimers"><a
href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li>

<li id="footer-places-contact"><a
href="//[Link]/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li>

<li id="footer-places-wm-codeofconduct"><a
href="[Link]
ct">Code of Conduct</a></li>

<li id="footer-places-developers"><a
href="[Link]

<li id="footer-places-statslink"><a
href="[Link]

<li id="footer-places-cookiestatement"><a
href="[Link]
statement</a></li>

<li id="footer-places-mobileview"><a href="//[Link]/w/[Link]?


title=JavaScript&amp;mobileaction=toggle_view_mobile" class="noprint
stopMobileRedirectToggle">Mobile view</a></li>

<li style="display: none;"><a href="#">Edit preview settings</a></li></ul>

<ul id="footer-icons" class="noprint">

<li id="footer-copyrightico"><a href="[Link]


src="/static/images/footer/[Link]" srcset="/static/images/footer/wikimedia-button-
[Link] 1.5x, /static/images/footer/[Link] 2x" width="88" height="31"
alt="Wikimedia Foundation" loading="lazy"></a></li>

<li id="footer-poweredbyico"><a href="[Link]


src="/static/images/footer/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki"
srcset="/static/images/footer/poweredby_mediawiki_132x47.png 1.5x,
/static/images/footer/poweredby_mediawiki_176x62.png 2x" width="88" height="31"
loading="lazy"></a></li>

</ul>

</footer>

</div>
</div>

</div>

<div class="vector-settings" id="p-dock-bottom">

<ul>

<li>

<button class="cdx-button cdx-button--icon-only vector-limited-width-toggle" id=""


data-event-name="limited-width-toggle-off"><span class="vector-icon mw-ui-icon-fullScreen mw-ui-
icon-wikimedia-fullScreen"></span>

<span>Toggle limited content width</span>

</button>

</li>

</ul>

</div>

<script>(RLQ=[Link]||[]).push(function(){[Link]({"wgHostname":"mw-
[Link]-68bcfdb6bf-fbx5m","wgBackendResponseTime":136,"wgPageParseReport":
{"limitreport":{"cputime":"2.350","walltime":"2.739","ppvisitednodes":
{"value":9209,"limit":1000000},"postexpandincludesize":
{"value":329764,"limit":2097152},"templateargumentsize":
{"value":10019,"limit":2097152},"expansiondepth":
{"value":21,"limit":100},"expensivefunctioncount":{"value":69,"limit":500},"unstrip-depth":
{"value":1,"limit":20},"unstrip-size":{"value":506684,"limit":5000000},"entityaccesscount":
{"value":1,"limit":400},"timingprofile":["100.00% 2276.213 1 -total"," 34.09% 775.854 1
Template:Reflist"," 21.70% 493.989 76 Template:Cite_web"," 19.84% 451.536 2
Template:Infobox"," 17.70% 402.939 1 Template:Infobox_programming_language"," 12.13%
276.075 1 Template:Infobox_software/simple"," 10.16% 231.231 4 Template:Wikidata","
4.96% 112.957 1 Template:Short_description"," 4.92% 112.056 8 Template:Navbox"," 4.48%
101.888 2 Template:Sfn"]},"scribunto":{"limitreport-timeusage":
{"value":"1.422","limit":"10.000"},"limitreport-memusage":
{"value":11667209,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n
[\"CITEREFAndersen2004\"] = 1,\n [\"CITEREFAshkenas\"] = 1,\n [\"CITEREFAuerbach2015\"] = 1,\
n [\"CITEREFBaker2004\"] = 1,\n [\"CITEREFBernhardt2012\"] = 1,\n
[\"CITEREFBranscombe2016\"] = 1,\n [\"CITEREFBrown2017\"] = 1,\n
[\"CITEREFChampeon2001\"] = 1,\n [\"CITEREFClinick2000\"] = 1,\n [\"CITEREFCollins2016\"] =
1,\n [\"CITEREFCrockford\"] = 1,\n [\"CITEREFCroll2011\"] = 1,\n [\"CITEREFDere2017\"] = 1,\n
[\"CITEREFEich1998\"] = 1,\n [\"CITEREFEich2008\"] = 1,\n [\"CITEREFEnzer2018\"] = 1,\n
[\"CITEREFFesta1998\"] = 1,\n [\"CITEREFFin_JS2016\"] = 1,\n [\"CITEREFFlanagan2006\"] = 1,\n
[\"CITEREFGoodin2015\"] = 1,\n [\"CITEREFGrussMauriceMangard2015\"] = 1,\n
[\"CITEREFHaverbeke2011\"] = 2,\n [\"CITEREFHerman2013\"] = 2,\n [\"[Link]\"] = 1,\
n [\"CITEREFJean-Pharuns2015\"] = 1,\n [\"CITEREFKatz2011\"] = 1,\n [\"CITEREFKorolev2019\"]
= 1,\n [\"CITEREFKottelin2008\"] = 1,\n [\"CITEREFLauingerChaabaneArshadRobertson2016\"] =
1,\n [\"CITEREFLawton2018\"] = 1,\n [\"CITEREFMahemoff,_Michael2009\"] = 1,\n
[\"CITEREFMcCracken2010\"] = 1,\n [\"CITEREFPanchal2022\"] = 1,\n [\"CITEREFPurdy2009\"] =
1,\n [\"CITEREFRehorik2016\"] = 1,\n [\"CITEREFSeibel2009\"] = 1,\n [\"CITEREFWeber2005\"] =
1,\n [\"CITEREFtreitter2013\"] = 1,\n [\"Server-side_JavaScript\"] = 1,\n
[\"Uses_outside_web_pages\"] = 1,\n [\"moz_const\"] = 1,\n [\"moz_let\"] = 1,\n}\ntemplate_list
= table#1 {\n [\"!\"] = 1,\n [\"Anchor\"] = 1,\n [\"Authority control\"] = 1,\n [\"Blockquote\"] =
1,\n [\"Citation\"] = 2,\n [\"Cite arXiv\"] = 1,\n [\"Cite book\"] = 7,\n [\"Cite magazine\"] = 1,\n
[\"Cite news\"] = 8,\n [\"Cite press release\"] = 1,\n [\"Cite web\"] = 72,\n [\"Cn\"] = 1,\n
[\"Code\"] = 2,\n [\"Curlie\"] = 1,\n [\"Distinguish\"] = 1,\n [\"ECMAScript\"] = 1,\n
[\"Excerpt\"] = 1,\n [\"Failed verification\"] = 1,\n [\"Flatlist\"] = 1,\n [\"For\"] = 1,\n
[\"Further\"] = 1,\n [\"IPAc-en\"] = 1,\n [\"ISBN\"] = 2,\n [\"Infobox programming language\"] =
1,\n [\"Isbn\"] = 1,\n [\"JavaScript\"] = 1,\n [\"Main\"] = 20,\n [\"NodeJs\"] = 1,\n [\"Portal
bar\"] = 1,\n [\"Pp-semi-indef\"] = 1,\n [\"Programming languages\"] = 1,\n [\"Quote box\"] =
1,\n [\"Redirect\"] = 1,\n [\"Reflist\"] = 1,\n [\"See also\"] = 2,\n [\"Sfn\"] = 2,\n [\"Short
description\"] = 1,\n [\"Sister project links\"] = 1,\n [\"Spoken Wikipedia\"] = 1,\n [\"Start date
and age\"] = 3,\n [\"URL\"] = 1,\n [\"Use dmy dates\"] = 1,\n [\"Web browsers\"] = 1,\n
[\"Webarchive\"] = 15,\n [\"Wikidata\"] = 4,\n}\narticle_whitelist = table#1 {\n}\n","limitreport-
profile":[["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\
LuaSandboxCallback::callParserFunction","320","20.3"],["?","280","17.7"],["MediaWiki\\Extension\\
Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::getExpandedArgument","120","7.6"],
["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::find","120","7.6"],
["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\LuaSandboxCallback::gsub","80","5.1"],
["recursiveClone \[Link]\u003E","60","3.8"],["MediaWiki\\Extension\\Scribunto\\
Engines\\LuaSandbox\\LuaSandboxCallback::match","60","3.8"],["date","40","2.5"],["dataWrapper \
[Link]\u003E","40","2.5"],["MediaWiki\\Extension\\Scribunto\\Engines\\LuaSandbox\\
LuaSandboxCallback::preprocess","40","2.5"],["[others]","420","26.6"]]},"cachereport":
{"origin":"[Link]-68bcfdb6bf-
qtpjj","timestamp":"20240601173528","ttl":2592000,"transientcontent":false}}});});</script>

<script
type="application/ld+json">{"@context":"https:\/\/[Link]","@type":"Article","name":"JavaScri
pt","url":"https:\/\/[Link]\/wiki\/JavaScript","sameAs":"http:\/\/[Link]\/
entity\/Q2005","mainEntity":"http:\/\/[Link]\/entity\/Q2005","author":
{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":
{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":
{"@type":"ImageObject","url":"https:\/\/[Link]\/static\/images\/wmf-hor-
[Link]"}},"datePublished":"2001-11-19T00:23:45Z","image":"https:\/\/
[Link]\/wikipedia\/commons\/a\/a4\/JavaScript_code.png","headline":"high-level
programming language"}</script>

<div id="mw-teleport-target" class="vector-body"></div><a accesskey="v"


href="[Link]
class="oo-ui-element-hidden"></a></body></html>

You might also like