From aa29c8a84ead41b6832708fb5bc07c4895df8fd3 Mon Sep 17 00:00:00 2001 From: Sesh Sadasivam Date: Sun, 22 Oct 2023 12:49:52 -0700 Subject: [PATCH 1/5] Bump version to 1.10.0 --- .githooks/pre-commit | 2 +- VERSION | 2 +- _layouts/spec.html | 2 +- assets/{v1.9 => v1.10}/css/primer-spec-base.scss | 0 assets/{v1.9 => v1.10}/css/style.scss | 0 assets/v1.10/js/262.primer_spec_plugin.min.js | 2 ++ assets/v1.10/js/262.primer_spec_plugin.min.js.map | 1 + assets/v1.10/js/424.primer_spec_plugin.min.js | 2 ++ assets/v1.10/js/424.primer_spec_plugin.min.js.map | 1 + assets/v1.10/js/464.primer_spec_plugin.min.js | 2 ++ assets/v1.10/js/464.primer_spec_plugin.min.js.map | 1 + assets/v1.10/js/733.primer_spec_plugin.min.js | 2 ++ assets/v1.10/js/733.primer_spec_plugin.min.js.map | 1 + assets/v1.10/js/primer_spec_plugin.min.js | 2 ++ assets/v1.10/js/primer_spec_plugin.min.js.map | 1 + assets/v1.9/css/primer-spec-base.css | 1 + assets/v1.9/css/style.css | 1 + 17 files changed, 20 insertions(+), 3 deletions(-) rename assets/{v1.9 => v1.10}/css/primer-spec-base.scss (100%) rename assets/{v1.9 => v1.10}/css/style.scss (100%) create mode 100644 assets/v1.10/js/262.primer_spec_plugin.min.js create mode 100644 assets/v1.10/js/262.primer_spec_plugin.min.js.map create mode 100644 assets/v1.10/js/424.primer_spec_plugin.min.js create mode 100644 assets/v1.10/js/424.primer_spec_plugin.min.js.map create mode 100644 assets/v1.10/js/464.primer_spec_plugin.min.js create mode 100644 assets/v1.10/js/464.primer_spec_plugin.min.js.map create mode 100644 assets/v1.10/js/733.primer_spec_plugin.min.js create mode 100644 assets/v1.10/js/733.primer_spec_plugin.min.js.map create mode 100644 assets/v1.10/js/primer_spec_plugin.min.js create mode 100644 assets/v1.10/js/primer_spec_plugin.min.js.map create mode 100644 assets/v1.9/css/primer-spec-base.css create mode 100644 assets/v1.9/css/style.css diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 22fbe802..29f6803f 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -10,7 +10,7 @@ GITHOOKS_DIR=`pwd -P` popd PROJECT_ROOT=`dirname $GITHOOKS_DIR` -MINOR_VERSION=$(cat $PROJECT_ROOT/VERSION | grep -o "[[:digit:]]\.[[:digit:]]") +MINOR_VERSION=$(cat $PROJECT_ROOT/VERSION | grep -oE "\\d+\\.\\d+") if [[ -z "${STAGE_STATIC_ASSETS:-}" ]]; then echo "[pre-commit]: Unstaging assets directory" diff --git a/VERSION b/VERSION index 7b0231f5..b7dc7ec6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.9.3 \ No newline at end of file +1.10.0.d \ No newline at end of file diff --git a/_layouts/spec.html b/_layouts/spec.html index 310e46b7..8d6462be 100644 --- a/_layouts/spec.html +++ b/_layouts/spec.html @@ -1,5 +1,5 @@ --- -version_string: v1.9 +version_string: v1.10 --- diff --git a/assets/v1.9/css/primer-spec-base.scss b/assets/v1.10/css/primer-spec-base.scss similarity index 100% rename from assets/v1.9/css/primer-spec-base.scss rename to assets/v1.10/css/primer-spec-base.scss diff --git a/assets/v1.9/css/style.scss b/assets/v1.10/css/style.scss similarity index 100% rename from assets/v1.9/css/style.scss rename to assets/v1.10/css/style.scss diff --git a/assets/v1.10/js/262.primer_spec_plugin.min.js b/assets/v1.10/js/262.primer_spec_plugin.min.js new file mode 100644 index 00000000..0d7e9699 --- /dev/null +++ b/assets/v1.10/js/262.primer_spec_plugin.min.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[262],{262:(e,t,n)=>{var a;function o(e,t){const n=new Date;return!(n.getMonth()t.month||!(n.getMonth()i}),function(e){e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER"}(a||(a={}));const s=["halloween","april_fools_languages"].filter((e=>function(e){if(window.PrimerSpecConfig.disableJokes)return!1;const t=function(e){const t=window.location.search.match(new RegExp(`enable_${e}=([0|1])`));return t?"1"===t[1]:null}(e);if(null!==t)return t;switch(e){case"halloween":return o({month:a.NOVEMBER,date:5},{month:a.NOVEMBER,date:16})&&l(e,"🤫 Psst... It's well past halloween, but you can re-enable halloween mode by clicking this url:"),o({month:a.OCTOBER,date:25},{month:a.NOVEMBER,date:5});case"april_fools_languages":return o({month:a.APRIL,date:4},{month:a.APRIL,date:13})&&l(e,"🤫 Psst... It's well past April Fools, but you can re-enable the April Fools Language prank by clicking this url:"),o({month:a.MARCH,date:29},{month:a.APRIL,date:4})}return!1}(e))).map((e=>async function(e){let t=null;switch(e){case"halloween":t=(await n.e(733).then(n.bind(n,733))).default;break;case"april_fools_languages":t=(await n.e(464).then(n.bind(n,464))).default}return t}(e)));async function i(e){const t=await Promise.all(s);await Promise.all(t.map((async t=>{await(t?.(e))})))}}}]); +//# sourceMappingURL=262.primer_spec_plugin.min.js.map \ No newline at end of file diff --git a/assets/v1.10/js/262.primer_spec_plugin.min.js.map b/assets/v1.10/js/262.primer_spec_plugin.min.js.map new file mode 100644 index 00000000..ba421076 --- /dev/null +++ b/assets/v1.10/js/262.primer_spec_plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"262.primer_spec_plugin.min.js","mappings":"kFAAO,IAAIA,EAqBJ,SAASC,EAAeC,EAAYC,GACvC,MAAMC,EAAQ,IAAIC,KAClB,QAAID,EAAME,WAAaJ,EAAWK,OAG9BH,EAAME,aAAeJ,EAAWK,OAChCH,EAAMI,UAAYN,EAAWO,MAI7BL,EAAME,WAAaH,EAAWI,SAG9BH,EAAME,WAAaH,EAAWI,OAG3BH,EAAMI,UAAYL,EAAWM,OCrCjC,SAASC,EAA0BC,EAAUC,GAChD,MAAMC,EAAc,IAAIC,IAAIC,OAAOC,SAASC,MAC5CJ,EAAYK,aAAaC,IAAI,UAAUR,IAAY,KACnDS,QAAQC,KAAK,GAAGT,MAAaC,EAAYS,Y,qCDF7C,SAAWtB,GACPA,EAAMA,EAAe,QAAI,GAAK,UAC9BA,EAAMA,EAAgB,SAAI,GAAK,WAC/BA,EAAMA,EAAa,MAAI,GAAK,QAC5BA,EAAMA,EAAa,MAAI,GAAK,QAC5BA,EAAMA,EAAW,IAAI,GAAK,MAC1BA,EAAMA,EAAY,KAAI,GAAK,OAC3BA,EAAMA,EAAY,KAAI,GAAK,OAC3BA,EAAMA,EAAc,OAAI,GAAK,SAC7BA,EAAMA,EAAiB,UAAI,GAAK,YAChCA,EAAMA,EAAe,QAAI,GAAK,UAC9BA,EAAMA,EAAgB,SAAI,IAAM,WAChCA,EAAMA,EAAgB,SAAI,IAAM,WAZpC,CAaGA,IAAUA,EAAQ,KEMrB,MACMuB,EADa,CAAC,YAAa,yBACEC,QAAQb,GCnBpC,SAA0BA,GAC7B,GAAII,OAAOU,iBAAiBC,aACxB,OAAO,EAEX,MAAMC,EAsBV,SAAiChB,GAC7B,MAAMiB,EAAQb,OAAOC,SAASa,OAAOD,MAAM,IAAIE,OAAO,UAAUnB,cAChE,OAAIiB,EACoB,MAAbA,EAAM,GAEV,KA3BmBG,CAAwBpB,GAClD,GAA0B,OAAtBgB,EACA,OAAOA,EAEX,OAAQhB,GACJ,IAAK,YAMD,OAHIV,EAAe,CAAEM,MAAOP,EAAMgC,SAAUvB,KAAM,GAAK,CAAEF,MAAOP,EAAMgC,SAAUvB,KAAM,MAClFC,EAA0BC,EAAU,mGAEjCV,EAAe,CAAEM,MAAOP,EAAMiC,QAASxB,KAAM,IAAM,CAAEF,MAAOP,EAAMgC,SAAUvB,KAAM,IAC7F,IAAK,wBAMD,OAHIR,EAAe,CAAEM,MAAOP,EAAMkC,MAAOzB,KAAM,GAAK,CAAEF,MAAOP,EAAMkC,MAAOzB,KAAM,MAC5EC,EAA0BC,EAAU,qHAEjCV,EAAe,CAAEM,MAAOP,EAAMmC,MAAO1B,KAAM,IAAM,CAAEF,MAAOP,EAAMkC,MAAOzB,KAAM,IAE5F,OAAO,EDL6C2B,CAAiBzB,KAAW0B,KAAK1B,GEZlF2B,eAA0B3B,GAC7B,IAAI4B,EAAS,KACb,OAAQ5B,GACJ,IAAK,YACD4B,SAAgB,8BAAsCC,QACtD,MACJ,IAAK,wBACDD,SAAgB,8BAAkDC,QAG1E,OAAOD,EFE2FE,CAAW9B,KAC1G2B,eAAeI,EAAeC,GACjC,MAAMC,QAAgBC,QAAQC,IAAIvB,SAC5BsB,QAAQC,IAAIF,EAAQP,KAAIC,MAAOC,UAC3BA,IAASI","sources":["webpack:///./conditional_plugins/utils/is_today_in_range.ts","webpack:///./conditional_plugins/utils/print_enabling_url_to_console.ts","webpack:///./conditional_plugins/conditional_plugins.ts","webpack:///./conditional_plugins/should_load_plugin.ts","webpack:///./conditional_plugins/load_plugin.ts"],"sourcesContent":["export var Month;\n(function (Month) {\n Month[Month[\"JANUARY\"] = 0] = \"JANUARY\";\n Month[Month[\"FEBRUARY\"] = 1] = \"FEBRUARY\";\n Month[Month[\"MARCH\"] = 2] = \"MARCH\";\n Month[Month[\"APRIL\"] = 3] = \"APRIL\";\n Month[Month[\"MAY\"] = 4] = \"MAY\";\n Month[Month[\"JUNE\"] = 5] = \"JUNE\";\n Month[Month[\"JULY\"] = 6] = \"JULY\";\n Month[Month[\"AUGUST\"] = 7] = \"AUGUST\";\n Month[Month[\"SEPTEMBER\"] = 8] = \"SEPTEMBER\";\n Month[Month[\"OCTOBER\"] = 9] = \"OCTOBER\";\n Month[Month[\"NOVEMBER\"] = 10] = \"NOVEMBER\";\n Month[Month[\"DECEMBER\"] = 11] = \"DECEMBER\";\n})(Month || (Month = {}));\n/**\n * Return a boolean indicating whether today's date is between the dates\n * `lowerBound` (inclusive) and `upperBound` (exclusive).\n *\n * KNOWN LIMITATION: Doesn't work across years (for instance, around New Year).\n */\nexport function isTodayInRange(lowerBound, upperBound) {\n const today = new Date();\n if (today.getMonth() < lowerBound.month) {\n return false;\n }\n if (today.getMonth() === lowerBound.month &&\n today.getDate() < lowerBound.date) {\n return false;\n }\n // At this point, we're beyond the lower bound.\n if (today.getMonth() > upperBound.month) {\n return false;\n }\n if (today.getMonth() < upperBound.month) {\n return true;\n }\n return today.getDate() < upperBound.date;\n}\n","export function printEnablingURLToConsole(pluginId, message) {\n const enabled_url = new URL(window.location.href);\n enabled_url.searchParams.set(`enable_${pluginId}`, '1');\n console.info(`${message}\\n`, enabled_url.toString());\n}\n","/**\n * Conditional plugins are loaded asynchronously and are intentionally\n * isolated from the rest of Primer Spec. This is because this conditional\n * plugin framework was designed to build temporary pranks and jokes! (We don't\n * want these jokes to affect the page load time and the spec-reading\n * experience.)\n *\n * Plugins run based on conditions defined in the `shouldLoadPlugin()` method.\n * They can also be force-enabled by inserting\n * `?enable_=1` in the URL.\n */\nimport { shouldLoadPlugin } from './should_load_plugin';\nimport { loadPlugin } from './load_plugin';\n/**\n * When adding a new Plugin:\n * 1. Add the plugin definition to `./plugins/[your-plugin].plugin.ts`\n * 2. Choose a plugin ID, then add it to this list\n * 3. Add a condition to `shouldLoadPlugin()` for this plugin ID\n * 4. Update `loadPlugin()` to load the plugin definition from (1)\n */\nconst PLUGIN_IDS = ['halloween', 'april_fools_languages'];\nconst pluginsPromises = PLUGIN_IDS.filter((pluginId) => shouldLoadPlugin(pluginId)).map((pluginId) => loadPlugin(pluginId));\nexport async function executePlugins(input) {\n const plugins = await Promise.all(pluginsPromises);\n await Promise.all(plugins.map(async (plugin) => {\n await plugin?.(input);\n }));\n}\n","import { isTodayInRange, Month } from './utils/is_today_in_range';\nimport { printEnablingURLToConsole } from './utils/print_enabling_url_to_console';\nexport function shouldLoadPlugin(pluginId) {\n if (window.PrimerSpecConfig.disableJokes) {\n return false;\n }\n const forceEnableOption = pluginForceEnableOption(pluginId);\n if (forceEnableOption !== null) {\n return forceEnableOption;\n }\n switch (pluginId) {\n case 'halloween':\n // Console message if we are *just* past the Halloween-mode end-date.\n // From November 5 until November 15.\n if (isTodayInRange({ month: Month.NOVEMBER, date: 5 }, { month: Month.NOVEMBER, date: 16 })) {\n printEnablingURLToConsole(pluginId, \"🤫 Psst... It's well past halloween, but you can re-enable halloween mode by clicking this url:\");\n }\n return isTodayInRange({ month: Month.OCTOBER, date: 25 }, { month: Month.NOVEMBER, date: 5 });\n case 'april_fools_languages':\n // Console message if we are *just* past the April Fools end-date.\n // From April 4 until April 13.\n if (isTodayInRange({ month: Month.APRIL, date: 4 }, { month: Month.APRIL, date: 13 })) {\n printEnablingURLToConsole(pluginId, \"🤫 Psst... It's well past April Fools, but you can re-enable the April Fools Language prank by clicking this url:\");\n }\n return isTodayInRange({ month: Month.MARCH, date: 29 }, { month: Month.APRIL, date: 4 });\n }\n return false;\n}\nfunction pluginForceEnableOption(pluginId) {\n const match = window.location.search.match(new RegExp(`enable_${pluginId}=([0|1])`));\n if (match) {\n return match[1] === '1';\n }\n return null;\n}\n","/**\n * Given a plugin ID, lazy-load the appropriate JS module containing the plugin\n * definition and return the plugin.\n *\n * Notice that we use the dynamic `import()` syntax. Webpack identifies this as\n * an opportunity to split the JS bundle, hence decreasing the size of the main\n * Primer Spec JS bundle. Additionally, we won't download the JS code for all\n * plugins, only the ones that need to run.\n */\nexport async function loadPlugin(pluginId) {\n let plugin = null;\n switch (pluginId) {\n case 'halloween':\n plugin = (await import('./plugins/halloween.plugin')).default;\n break;\n case 'april_fools_languages':\n plugin = (await import('./plugins/april_fools_languages.plugin')).default;\n break;\n }\n return plugin;\n}\n"],"names":["Month","isTodayInRange","lowerBound","upperBound","today","Date","getMonth","month","getDate","date","printEnablingURLToConsole","pluginId","message","enabled_url","URL","window","location","href","searchParams","set","console","info","toString","pluginsPromises","filter","PrimerSpecConfig","disableJokes","forceEnableOption","match","search","RegExp","pluginForceEnableOption","NOVEMBER","OCTOBER","APRIL","MARCH","shouldLoadPlugin","map","async","plugin","default","loadPlugin","executePlugins","input","plugins","Promise","all"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/v1.10/js/424.primer_spec_plugin.min.js b/assets/v1.10/js/424.primer_spec_plugin.min.js new file mode 100644 index 00000000..402b7feb --- /dev/null +++ b/assets/v1.10/js/424.primer_spec_plugin.min.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[424],{424:(e,t,o)=>{o.r(t),o.d(t,{executePlugins:()=>p});var n=o(916);function s(e){let t,o;e instanceof TouchEvent?(t=e.touches[0].clientX,o=e.touches[0].clientY):(t=e.clientX,o=e.clientY),t-=16,o-=16;const s=n.h("span",{style:`position: fixed; top: ${o}px; left: ${t}px; z-index: 1000; font-size: 32px; transition: all 1s ease-out; user-select: none;`},"👻");setTimeout((()=>{s.style.transform=`translateY(-${Math.round(48)}px)`,s.style.opacity="0"}),0),setTimeout((()=>{s.remove()}),1500),document.body.append(s)}function i(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}const a="primer-spec-shy-emoji",r="primer-spec-shy-emoji-keyframes";function l(e){document.getElementById(a)?.remove(),document.getElementById(r)?.remove(),"spooky"===e&&function(e){const t=i(10,90),o=["🎃","👻","🤫","🧙","🧛","🧟","👺"],s=o[i(0,o.length)],c=0===i(0,2)?"right":"left",p=n.h("style",{id:r},"@keyframes peak-in-out {"," from {",` ${c}: -70px;`," }"," 20% {",` ${c}: -20px;`," }"," 80% {",` ${c}: -20px;`," }"," to {",` ${c}: -70px;`," }","}","@keyframes fly {"," 25% {",` top: ${i(10,90)}vh;`," }"," 60% {",` top: ${i(-1,101)}vh;`," }"," to {",` top: ${i(-10,110)}vh;`,` ${c}: 110vw;`," }","}");document.body.append(p);const m=n.h("span",{id:a,style:`position: fixed; top: ${t}%; ${c}: -70px; font-size: 60px; z-index: 1000; user-select: none; cursor: pointer;`,onClick:()=>{m.style[c]=window.getComputedStyle(m)[c],m.style.animationDelay="0s",m.style.animationDuration="3s",m.style.animationName="fly"}},s);m.style.animationFillMode="forwards",m.style.animationDelay="2s",m.style.animationDuration="25s",m.style.animationTimingFunction="ease-in-out",m.style.animationName="peak-in-out",m.onanimationend=()=>{m.remove(),p.remove(),l(e)},document.body.append(m)}(e)}const c=[{id:"halloween",plugin:async function(e){window.PrimerSpec?.REGISTERED_SUBTHEMES?.spooky||(window.PrimerSpec?.registerNewSubtheme?.("spooky","🎃 Spooky 👻",function(){const e=window.PrimerSpec.REGISTERED_SUBTHEMES.default.theme_definition,t=JSON.parse(JSON.stringify(e));return document.head.appendChild(n.h("link",{href:"https://fonts.googleapis.com/css2?family=Creepster&family=Architects+Daughter&display=swap",rel:"stylesheet"})),t.light=t.dark,t}()),window.PrimerSpec?.updateTheme?.({},!1)),e.settings_shown?document.querySelectorAll("svg.primer-spec-theme-preview-spooky-light, svg.primer-spec-theme-preview-spooky-dark").forEach((e=>{e.querySelector(".spooky-pumpkins")||e.appendChild(n.h("text",{class:"spooky-pumpkins",x:"180",y:"130","dominant-baseline":"middle","text-anchor":"middle",style:"font-size: 72px;"},"🎃🎃🎃"))})):function(){const e=document.querySelector(".primer-spec-settings-toggle i.fa-cog")?.classList;e&&(e.remove("fa-cog"),e.add("fa-hat-wizard"))}(),document.querySelectorAll(".primer-spec-hoverable i.fa-bars").forEach((e=>{e.classList.remove("fa-cog"),e.classList.add("fa-book-dead")})),function(e){const t=document.getElementById("primer-spec-halloween-font");"spooky"!==e||t?"spooky"!==e&&t&&t.remove():document.body.appendChild(n.h("style",{id:"primer-spec-halloween-font"},"body, .markdown-body, p ","{","font-family: 'Architects Daughter'; ","}","h1, h2, h3, h4, h5, h6 ","{","font-family: 'Creepster' !important; ","}"))}(e.subtheme_name),"spooky"===e.subtheme_name?(document.body.addEventListener("dblclick",s,{passive:!0}),document.body.addEventListener("touchend",s,{passive:!0})):(document.body.removeEventListener("dblclick",s),document.body.removeEventListener("touchend",s)),l(e.subtheme_name)},shouldRun:()=>{const e=new Date;if(10===e.getMonth()&&e.getDate()>5&&e.getDate()<=15){const e=new URL(window.location.href);e.searchParams.set("enable_halloween","1"),console.info("🤫 Psst... It's well past halloween, but you can re-enable halloween mode by clicking this url:\n",e.toString())}return 9===e.getMonth()&&e.getDate()>=25||10===e.getMonth()&&e.getDate()<=5}}].filter((e=>{const t=function(e){const t=window.location.search.match(new RegExp(`enable_${e}=([0|1])`));return t?"1"===t[1]:null}(e.id);return null!==t?t:e.shouldRun()})).map((e=>e.plugin));async function p(e){await Promise.all(c.map((async t=>{await t(e)})))}}}]); +//# sourceMappingURL=424.primer_spec_plugin.min.js.map \ No newline at end of file diff --git a/assets/v1.10/js/424.primer_spec_plugin.min.js.map b/assets/v1.10/js/424.primer_spec_plugin.min.js.map new file mode 100644 index 00000000..ad39c2f0 --- /dev/null +++ b/assets/v1.10/js/424.primer_spec_plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"424.primer_spec_plugin.min.js","mappings":"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","sources":["webpack:///./conditional_plugins/halloween.plugin.tsx","webpack:///./conditional_plugins/conditional_plugins.ts"],"sourcesContent":["/** @jsx JSXDom.h */\nimport * as JSXDom from 'jsx-dom';\nexport function initialize() {\n return {\n id: 'halloween',\n plugin: HalloweenPlugin,\n shouldRun: () => {\n const today = new Date();\n // Console message if we are *just* past the Halloween-mode end-date.\n if (today.getMonth() === 10 &&\n today.getDate() > 5 &&\n today.getDate() <= 15) {\n const enabled_url = new URL(window.location.href);\n enabled_url.searchParams.set('enable_halloween', '1');\n console.info(\"🤫 Psst... It's well past halloween, but you can re-enable halloween mode by clicking this url:\\n\", enabled_url.toString());\n }\n // Remember that months are 0-indexed in JS!\n return ((today.getMonth() === 9 && today.getDate() >= 25) ||\n (today.getMonth() === 10 && today.getDate() <= 5));\n },\n };\n}\nasync function HalloweenPlugin(input) {\n registerHalloweenSubthemeIfNeeded();\n if (!input.settings_shown) {\n replaceSettingsToggleWithHat();\n }\n else {\n insertPumpkinsInThemePreview();\n }\n replaceSidebarToggleWithBook();\n toggleFontIfNeeded(input.subtheme_name);\n registerDblclickEasterEggIfNeeded(input.subtheme_name);\n insertShyEmojiIfNeeded(input.subtheme_name);\n}\nfunction replaceSettingsToggleWithHat() {\n const settingsIconClassList = document.querySelector('.primer-spec-settings-toggle i.fa-cog')?.classList;\n if (settingsIconClassList) {\n settingsIconClassList.remove('fa-cog');\n settingsIconClassList.add('fa-hat-wizard');\n }\n}\nfunction replaceSidebarToggleWithBook() {\n const sidebarToggles = document.querySelectorAll('.primer-spec-hoverable i.fa-bars');\n sidebarToggles.forEach((sidebarToggle) => {\n sidebarToggle.classList.remove('fa-cog');\n sidebarToggle.classList.add('fa-book-dead');\n });\n}\n// Acknowledgement: The _design_ inspiration for this easter egg comes from a\n// similar easter egg in WhatsApp Web, where clicking on an expired \"view-once\"\n// media message shows an animated \"🤫\" emoji.\nfunction createGhostEasterEggOnClick(event) {\n let startX, startY;\n if (event instanceof TouchEvent) {\n startX = event.touches[0].clientX;\n startY = event.touches[0].clientY;\n }\n else {\n startX = event.clientX;\n startY = event.clientY;\n }\n const ghostSize = 32;\n startX -= ghostSize / 2;\n startY -= ghostSize / 2;\n const easterEggEmoji = (JSXDom.h(\"span\", { style: `position: fixed; top: ${startY}px; left: ${startX}px; z-index: 1000; font-size: ${ghostSize}px; transition: all 1s ease-out; user-select: none;` }, \"\\uD83D\\uDC7B\"));\n // Animate the ghost right after it's rendered.\n setTimeout(() => {\n easterEggEmoji.style.transform = `translateY(-${Math.round(ghostSize * 1.5)}px)`;\n easterEggEmoji.style.opacity = '0';\n }, 0);\n // And clean up after the animation is complete.\n setTimeout(() => {\n easterEggEmoji.remove();\n }, 1500);\n // Add the ghost to the page!\n document.body.append(easterEggEmoji);\n}\nfunction registerDblclickEasterEggIfNeeded(subtheme_name) {\n if (subtheme_name === 'spooky') {\n document.body.addEventListener('dblclick', createGhostEasterEggOnClick, {\n passive: true,\n });\n document.body.addEventListener('touchend', createGhostEasterEggOnClick, {\n passive: true,\n });\n }\n else {\n document.body.removeEventListener('dblclick', createGhostEasterEggOnClick);\n document.body.removeEventListener('touchend', createGhostEasterEggOnClick);\n }\n}\nfunction insertPumpkinsInThemePreview() {\n document\n .querySelectorAll('svg.primer-spec-theme-preview-spooky-light, svg.primer-spec-theme-preview-spooky-dark')\n .forEach((svg) => {\n if (!svg.querySelector('.spooky-pumpkins')) {\n svg.appendChild(JSXDom.h(\"text\", { class: \"spooky-pumpkins\", x: \"180\", y: \"130\", \"dominant-baseline\": \"middle\", \"text-anchor\": \"middle\", style: \"font-size: 72px;\" }, \"\\uD83C\\uDF83\\uD83C\\uDF83\\uD83C\\uDF83\"));\n }\n });\n}\nfunction registerHalloweenSubthemeIfNeeded() {\n if (!window.PrimerSpec?.REGISTERED_SUBTHEMES?.['spooky']) {\n // NOTE: This block of code will only ever be called ONCE per page session.\n window.PrimerSpec?.registerNewSubtheme?.('spooky', '🎃 Spooky 👻', constructHalloweenSubtheme());\n // Force-update the theme. The page will have already loaded with the\n // default theme, so we need to re-render with the spooky theme.\n window.PrimerSpec?.updateTheme?.({}, false);\n }\n}\nfunction constructHalloweenSubtheme() {\n // NOTE: This method will only ever be called ONCE per page session.\n // Hence, we can perform actions that modify the page state without\n // having to worry about duplicated effects.\n // Start by deep-copying the default theme's definition.\n const defaultSubthemeDef = window.PrimerSpec.REGISTERED_SUBTHEMES['default'].theme_definition;\n const halloweenSubthemeDef = JSON.parse(JSON.stringify(defaultSubthemeDef));\n // Since we want to use a custom font, we need to inject it into the page.\n document.head.appendChild(JSXDom.h(\"link\", { href: \"https://fonts.googleapis.com/css2?family=Creepster&family=Architects+Daughter&display=swap\", rel: \"stylesheet\" }));\n // 'Spooky' is a dark-only theme. We'll first define the dark-mode colors,\n // then we'll completely remove the light-mode colors.\n // Finally, replace the light colors with the dark ones.\n halloweenSubthemeDef['light'] = halloweenSubthemeDef['dark'];\n return halloweenSubthemeDef;\n}\nfunction toggleFontIfNeeded(subtheme_name) {\n const existingStyleTag = document.getElementById('primer-spec-halloween-font');\n if (subtheme_name === 'spooky' && !existingStyleTag) {\n document.body.appendChild(JSXDom.h(\"style\", { id: \"primer-spec-halloween-font\" },\n \"body, .markdown-body, p \",\n '{',\n \"font-family: 'Architects Daughter'; \",\n '}',\n \"h1, h2, h3, h4, h5, h6 \",\n '{',\n \"font-family: 'Creepster' !important; \",\n '}'));\n }\n else if (subtheme_name !== 'spooky' && existingStyleTag) {\n existingStyleTag.remove();\n }\n}\nfunction getRandomInt(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min;\n}\n/*** SHY EMOJI ***/\nconst emojiSpanId = 'primer-spec-shy-emoji';\nconst keyframesCssId = 'primer-spec-shy-emoji-keyframes';\nfunction insertShyEmojiImpl(subtheme_name) {\n const initHeight = getRandomInt(10, 90);\n const spookyEmojis = ['🎃', '👻', '🤫', '🧙', '🧛', '🧟', '👺'];\n const chosenEmoji = spookyEmojis[getRandomInt(0, spookyEmojis.length)];\n const peakFromMargin = getRandomInt(0, 2) === 0 ? 'right' : 'left';\n const shyEmojiKeyframes = (JSXDom.h(\"style\", { id: keyframesCssId },\n '@keyframes peak-in-out {',\n ' from {',\n ` ${peakFromMargin}: -70px;`,\n ' }',\n ' 20% {',\n ` ${peakFromMargin}: -20px;`,\n ' }',\n ' 80% {',\n ` ${peakFromMargin}: -20px;`,\n ' }',\n ' to {',\n ` ${peakFromMargin}: -70px;`,\n ' }',\n '}',\n '@keyframes fly {',\n ' 25% {',\n ` top: ${getRandomInt(10, 90)}vh;`,\n ' }',\n ' 60% {',\n ` top: ${getRandomInt(-1, 101)}vh;`,\n ' }',\n ' to {',\n ` top: ${getRandomInt(-10, 110)}vh;`,\n ` ${peakFromMargin}: 110vw;`,\n ' }',\n '}'));\n document.body.append(shyEmojiKeyframes);\n const shyEmoji = (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n JSXDom.h(\"span\", { id: emojiSpanId, style: `position: fixed; top: ${initHeight}%; ${peakFromMargin}: -70px; font-size: 60px; z-index: 1000; user-select: none; cursor: pointer;`, onClick: () => {\n // If the emoji is still in the middle of peaking in, we want the\n // animation to begin from wherever it currently is.\n shyEmoji.style[peakFromMargin] = window.getComputedStyle(shyEmoji)[peakFromMargin];\n shyEmoji.style.animationDelay = '0s';\n shyEmoji.style.animationDuration = '3s';\n shyEmoji.style.animationName = 'fly';\n } }, chosenEmoji));\n // Peak In and Out\n shyEmoji.style.animationFillMode = 'forwards';\n shyEmoji.style.animationDelay = '2s';\n shyEmoji.style.animationDuration = '25s';\n shyEmoji.style.animationTimingFunction = 'ease-in-out';\n shyEmoji.style.animationName = 'peak-in-out';\n // CLEANUP\n shyEmoji.onanimationend = () => {\n shyEmoji.remove();\n shyEmojiKeyframes.remove();\n // Rinse and repeat!\n insertShyEmojiIfNeeded(subtheme_name);\n };\n document.body.append(shyEmoji);\n}\nfunction insertShyEmojiIfNeeded(subtheme_name) {\n document.getElementById(emojiSpanId)?.remove();\n document.getElementById(keyframesCssId)?.remove();\n if (subtheme_name === 'spooky') {\n insertShyEmojiImpl(subtheme_name);\n }\n}\n","import { initialize as initializeHalloweenPlugin } from './halloween.plugin';\nconst PLUGINS = [initializeHalloweenPlugin()]\n .filter((pluginDefinition) => {\n const forceEnableOption = pluginForceEnableOption(pluginDefinition.id);\n if (forceEnableOption !== null) {\n return forceEnableOption;\n }\n return pluginDefinition.shouldRun();\n})\n .map((pluginDefinition) => pluginDefinition.plugin);\nexport async function executePlugins(input) {\n await Promise.all(PLUGINS.map(async (plugin) => {\n await plugin(input);\n }));\n}\nfunction pluginForceEnableOption(pluginId) {\n const match = window.location.search.match(new RegExp(`enable_${pluginId}=([0|1])`));\n if (match) {\n return match[1] === '1';\n }\n return null;\n}\n"],"names":["createGhostEasterEggOnClick","event","startX","startY","TouchEvent","touches","clientX","clientY","ghostSize","easterEggEmoji","style","setTimeout","transform","Math","round","opacity","remove","document","body","append","getRandomInt","min","max","ceil","floor","random","emojiSpanId","keyframesCssId","insertShyEmojiIfNeeded","subtheme_name","getElementById","initHeight","spookyEmojis","chosenEmoji","length","peakFromMargin","shyEmojiKeyframes","id","shyEmoji","onClick","window","getComputedStyle","animationDelay","animationDuration","animationName","animationFillMode","animationTimingFunction","onanimationend","insertShyEmojiImpl","PLUGINS","plugin","async","input","PrimerSpec","REGISTERED_SUBTHEMES","registerNewSubtheme","defaultSubthemeDef","theme_definition","halloweenSubthemeDef","JSON","parse","stringify","head","appendChild","href","rel","constructHalloweenSubtheme","updateTheme","settings_shown","querySelectorAll","forEach","svg","querySelector","class","x","y","settingsIconClassList","classList","add","replaceSettingsToggleWithHat","sidebarToggle","existingStyleTag","toggleFontIfNeeded","addEventListener","passive","removeEventListener","shouldRun","today","Date","getMonth","getDate","enabled_url","URL","location","searchParams","set","console","info","toString","filter","pluginDefinition","forceEnableOption","pluginId","match","search","RegExp","pluginForceEnableOption","map","executePlugins","Promise","all"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/v1.10/js/464.primer_spec_plugin.min.js b/assets/v1.10/js/464.primer_spec_plugin.min.js new file mode 100644 index 00000000..48125729 --- /dev/null +++ b/assets/v1.10/js/464.primer_spec_plugin.min.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[464],{247:(e,o)=>{var r=function(){function e(){this.exclusions=[]}return e.prototype.translate=function(e){return e?this._split(e).map(this._translateOne.bind(this)).join(""):e},e.prototype._translateOne=function(e){var o=/^([\W_]*)([^\W_]+)(['\u2019\u02bc][^\W_]+|)([\W_]*)$/.exec(e);if(!o)return e;var r=o[2]+o[3].substring(1);if(-1!==this.exclusions.indexOf(r))return e;if(/[0-9]/.test(r))return e;var t=r===r.toUpperCase()&&r.length>1,n=r[0].toUpperCase();if(-1!=="AEIOU".indexOf(n)){var a=r[r.length-1],s="y"===a||"Y"===a?"ay":"yay";r+=t?s.toUpperCase():s}else{var i=this._indexOfFirstVowel(r);if(-1!==i){var l=!t&&r[0]===n,c=r.substring(0,i);l&&(c=c.toLowerCase());var d=r.substr(-c.length).toUpperCase()===c.toUpperCase(),u=r.substr(-1).toUpperCase()===c[0].toUpperCase(),p=d||u?"-":"";r=r.substring(c.length)+p+c+(t?"AY":"ay"),l&&(r=r[0].toUpperCase()+r.substring(1))}}return o[1]+r+o[4]},e.prototype._split=function(e){for(var o=/[\s/_\u2010-\u2015-]+/gm,r=[],t=0;;){var n=o.exec(e);if(null===n){e&&e.length>t&&r.push(e.substring(t));break}var a=e.substring(t,n.index);r.push(a);var s=e.substring(n.index,o.lastIndex);r.push(s),t=o.lastIndex}return r},e.prototype._indexOfFirstVowel=function(e){var o=/(y*)(.*)/i.exec(e),r=o[2].search(/[aeiouy]/i);return-1===r?-1:o[1].length+r},e}();o.Z=r},464:(e,o,r)=>{r.r(o),r.d(o,{default:()=>d});var t=r(916),n=r(247);const a={address:"port o' call",admin:"helm",am:"be",an:"a",and:"n'",are:"be",award:"prize",before:"afore",belief:"creed",between:"betwixt",big:"vast",bill:"coin",bills:"coins",boss:"admiral",box:"barrel",buddy:"mate",business:"company",businesses:"companies",calling:"callin'",canada:"Great North",cash:"coin",cat:"parrot",cheat:"hornswaggle",comes:"hails",comments:"yer words",cool:"shipshape",country:"land",dashboard:"shanty",dead:"in Davy Jones's Locker",disconnect:"keelhaul",dog:"parrot",dollar:"doubloon",dollars:"doubloons",dude:"pirate",employee:"crew",everyone:"all hands",eye:"eye-patch",family:"kin",fee:"debt",food:"grub",for:"fer",friend:"matey",friends:"mateys",go:"sail",good:"jolly good",grave:"Davy Jones's Locker",group:"maties",haha:"yo ho",hahaha:"yo ho ho",hahahaha:"yo ho ho ho",hand:"hook",happy:"grog-filled",hello:"ahoy",hey:"ahoy",hi:"ahoy",hotel:"fleebag inn",i:"me","i'm":"i be","i’m":"i be",internet:"series o' tubes",invalid:"sunk",is:"be",island:"isle","isn't":"be not","isn’t":"be not","it's":"'tis","it’s":"'tis",jail:"brig",kill:"keelhaul",king:"king",ladies:"lasses",lady:"lass",lawyer:"scurvy land lubber",left:"port",leg:"peg",logout:"walk the plank",lol:"blimey",man:"pirate",manager:"admiral",money:"doubloons",month:"moon",my:"me",never:"nary",no:"nay",not:"nay",of:"o'",old:"barnacle-covered",omg:"shiver me timbers",over:"o'er",page:"parchment",people:"scallywags",person:"scurvy dog",posted:"tacked to the yardarm",president:"king",prison:"brig",quickly:"smartly",really:"verily",relative:"kin",relatives:"kin",religion:"creed",restaurant:"galley",right:"starboard",rotf:"rollin' on the decks",say:"cry",seconds:"ticks o' tha clock",shipping:"cargo",small:"puny",snack:"grub",soldier:"sailor",sorry:"yarr",spouse:"ball 'n' chain",state:"land",supervisor:"Cap'n","that's":"that be",thief:"swoggler",them:"'em",to:"t'",together:"t'gether",treasure:"booty",was:"be",water:"grog",we:"our jolly crew",with:"wit'",work:"duty",yah:"aye",yeah:"aye",yes:"aye",you:"ye","you're":"you be","you’re":"you be","you've":"ye","you’ve":"ye",your:"yer",yup:"aye",around:"roundabouts",cancel:"retreat",event:"grog fest",except:"exceptin'",jarnuary:"januarrry",feburuary:"februarrry",march:"marrrch",april:"Month o' Showers",june:"Merry Month o' June",july:"jul-aye",august:"arrrgust",september:"Septembarrr",october:"Octobarrr",november:"Novembarrr",december:"Decembarrr",sunday:"Day o' the Sun",monday:"munday",tuesday:"toos'day",wednesday:"Ondin's day",thursday:"tharrrsday",saturday:"satarrrday",today:"t'day",post:"scrawlin'",tweet:"scrawlin'",video:"bewitched portrait",location:"port o' call",file:"parchment",browser:"bewtch'd portal",code:"spells",program:"magic spell",dependencies:"dependen-seas",starter:"starrrter"};function s(e){const o=a[e.toLowerCase()];return void 0===o?e:function(e,o){if(1===e.length&&1!==o.length)return o;if(e===e.toUpperCase())return o.toUpperCase();if(e===e.toLowerCase())return o.toLowerCase();const r=e.slice(0,1),t=e.slice(1);return r===r.toUpperCase()&&t===t.toLowerCase()?o.slice(0,1).toUpperCase()+o.slice(1).toLowerCase():o}(e,o)}function i(e){return-1!==e.search(/[a-zA-Z'’-]/)}const l={"!":"¡",'"':"„","&":"⅋","'":",","(":")",".":"˙",3:"Ɛ",4:"ᔭ",6:"9",7:"Ɫ",";":"؛","<":">","?":"¿",A:"∀",B:"၁2",C:"Ↄ",D:"◖",E:"Ǝ",F:"Ⅎ",G:"⅁",J:"ſ",K:"⋊",L:"⅂",M:"W",N:"ᴎ",P:"Ԁ",Q:"Ό",R:"ᴚ",T:"⊥",U:"∩",V:"ᴧ",Y:"⅄","[":"]",_:"‾",a:"ɐ",b:"q",c:"ɔ",d:"p",e:"ǝ",f:"ɟ",g:"ƃ",h:"ɥ",i:"ı",j:"ɾ",k:"ʞ",l:"ʃ",m:"ɯ",n:"u",r:"ɹ",t:"ʇ",v:"ʌ",w:"ʍ",y:"ʎ","{":"}","‿":"⁀","⁅":"⁆","∴":"∵"};for(const e in l)l[l[e]]=e;let c="english";async function d(){!function(){const e="primer-spec-april-fools-language-toggle";if(document.querySelector(`#${e}`))return;const o=document.querySelector("#primer-spec-settings-toggle"),r=o?.querySelector("#primer-spec-settings-toggle .primer-spec-hoverable");if(!r||!o)return void console.warn("Primer Spec: April Fools Languages joke: Could not find left-most topbar toggle button or settings toggle button");const t=r.cloneNode(!0);t.id=e,t.style.paddingRight="1em";const n=t.querySelector("i.fa-cog");n?.classList.remove("fa-cog"),n?.classList.add("fa-language"),o.prepend(t),t.querySelector("button")?.addEventListener("click",(()=>p()))}(),document.querySelector(`#${g}`)||document.head.appendChild(t.h("style",null,':root[data-theme-mode="dark"] .Popover .dropdown {'," filter: invert(93%) hue-rotate(180deg);","}",':root[data-theme-mode="dark"] .Popover .dropdown .dropdown-item {'," color: #24292e","}",':root[data-theme-mode="dark"] .Popover .dropdown .dropdown-item:hover {'," color: #000;","}",".Popover {"," color: var(--main-text-color)","}",':root[data-theme-mode="dark"] .Popover-message {'," background-color: var(--code-block-header-bg-color);"," border: 1px solid #30363d;","}",':root[data-theme-mode="dark"] .Popover-message--right-top::after {'," border-left-color: #30363d;","}")),function(){if(!b){const e=document.querySelector("main#primer-spec-preact-main-content");b=e?.innerHTML??null}}(),m||(window.addEventListener("click",(e=>{const o=e?.target;o&&null==o.closest("#primer-spec-april-fools-language-popover, #primer-spec-april-fools-language-toggle")&&document.body.contains(o)&&p({doNotOpen:!0})})),m=!0)}const u="primer-spec-april-fools-language-popover";function p(e){const o=document.querySelector(`#${u}`);o?o.remove():null!=e&&e.doNotOpen||(document.querySelector("header.primer-spec-topbar")?.appendChild(t.h("div",{id:u,class:"Popover position-absolute",style:"right: 8em; pointer-events: auto;"},t.h("div",{class:"Popover-message Popover-message--right-top p-4 mr-2 Box color-shadow-large"},t.h("button",{class:"btn-link position-absolute primer-spec-hoverable",style:"top: 0.25em; right: 0.5em; font-size: 20px;",onClick:()=>p()},t.h("i",{class:"fas fa-times"})),t.h("h4",{class:"mb-2"},'Change this page\'s "language"'),t.h("p",null,'April Fools! Try reading this page in another "language".'),t.h("div",{style:"margin-bottom: 100px"},t.h("details",{class:"dropdown details-reset details-overlay d-inline-block"},t.h("summary",{class:"btn","aria-haspopup":"true"},t.h("span",{id:`${u}-chosen-language`},"Choose language"),t.h("div",{class:"dropdown-caret"})),t.h("ul",{class:"dropdown-menu dropdown-menu-se"},t.h("li",null,h("english","English")),t.h("li",null,h("pig-latin","Pig Latin")),t.h("li",null,h("pirate","Pirate")),t.h("li",null,h("upside-down","Upside Down")))))))),y(c))}function h(e,o){return t.h("button",{id:`${u}-${e}`,class:"btn btn-link dropdown-item",onClick:()=>{y(e)}},o)}const g="primer-spec-april-fools-languages-dark-mode-styles";function y(e){c!==e&&(c=e,async function(e){const o={english:f,"pig-latin":v,pirate:w,"upside-down":k};b&&e in o&&function(e){const o=document.querySelector("main#primer-spec-preact-main-content");o&&(o.innerHTML=e)}(function(e,o){const r=e=>{const t=[...e.childNodes].map((e=>{if(e.nodeType==Node.TEXT_NODE)return e.textContent=o(e.textContent),e;if(e.nodeType===Node.ELEMENT_NODE){if(e.classList.contains("primer-spec-code-block")||e.classList.contains("primer-spec-code-block-processed")||e.classList.contains("primer-spec-mermaid-output"))return e;const o=e.cloneNode(!0);return r(o),o}return e}));e.innerHTML="",e.append(...t)},t=(new DOMParser).parseFromString(e,"text/html").body;return r(t),t.innerHTML}(b,await o[e]()))}(e));const o=document.querySelector(`#${u}-chosen-language`),r=document.querySelector(`#${u}-${c}`);o&&r&&(o.innerHTML=r.innerHTML),document.querySelector("#primer-spec-april-fools-language-popover details.dropdown")?.removeAttribute("open")}let m=!1,b=null;function f(){return Promise.resolve((e=>e))}async function v(){const e=new n.Z;return o=>o?e.translate(o):o}async function w(){return e=>e?function(e){let o="",r="";for(let t=0;te?function(e){const o=e.length-1,r=new Array(e.length);for(let t=o;t>=0;--t){const n=e.charAt(t),a=l[n];r[o-t]=null!=a?a:n}return r.join("")}(e):e}}}]); +//# sourceMappingURL=464.primer_spec_plugin.min.js.map \ No newline at end of file diff --git a/assets/v1.10/js/464.primer_spec_plugin.min.js.map b/assets/v1.10/js/464.primer_spec_plugin.min.js.map new file mode 100644 index 00000000..6c130fc5 --- /dev/null +++ b/assets/v1.10/js/464.primer_spec_plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"464.primer_spec_plugin.min.js","mappings":"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","sources":["webpack:///../node_modules/pig-latinizer/lib/pigLatin.js","webpack:///./conditional_plugins/plugins/utils/pirate_speak.ts","webpack:///./conditional_plugins/plugins/utils/upside_down.ts","webpack:///./conditional_plugins/plugins/april_fools_languages.plugin.tsx"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n/**\n * Translates English to Pig Latin.\n */\nvar PigLatin = /** @class */ (function () {\n function PigLatin() {\n /** Words which should be excluded from translation. Case-sensitive. */\n this.exclusions = [];\n }\n\n /**\n * Translates an English string, containing an arbitrary amount of text, to Pig Latin.\n * Punctuation and whitespace are preserved, including blank lines.\n *\n * @param english The English string to translate.\n */\n PigLatin.prototype.translate = function (english) {\n\n if (!english) {\n return english;\n }\n\n return this._split(english).map(this._translateOne.bind(this)).join(\"\");\n };\n\n /**\n * Translates a single fragment (word or separator) to Pig Latin.\n * @param fragment The word to translate or ignore, or separator to ignore.\n */\n PigLatin.prototype._translateOne = function (fragment) {\n // split into leading/trailing punctuation and the word itself;\n // part 1 = punctuation, or empty string\n // part 2 = the word up to any single apostrophe (if present)\n // part 3 = apostrophe & word characters following it, or empty string\n // part 4 = punctuation (including apostrophe if no word characters follow it), or empty string\n var parts = /^([\\W_]*)([^\\W_]+)(['\\u2019\\u02bc][^\\W_]+|)([\\W_]*)$/.exec(fragment);\n\n if (!parts) {\n return fragment; // we can't translate this non-word (it may be a separator)\n }\n\n var word = parts[2] + parts[3].substring(1);\n\n if (this.exclusions.indexOf(word) !== -1) {\n return fragment;\n }\n\n if (/[0-9]/.test(word)) {\n return fragment; // don't translate words which contain a digit\n }\n\n var isAllCaps = (word === word.toUpperCase() && word.length > 1);\n var firstLetterUpped = word[0].toUpperCase();\n\n if (\"AEIOU\".indexOf(firstLetterUpped) !== -1) {\n // begins with vowel; append \"yay\", but without doubling up a trailing \"y\"\n var lastChar = word[word.length - 1];\n var append = (lastChar === \"y\" || lastChar === \"Y\") ? \"ay\" : \"yay\";\n word += isAllCaps ? append.toUpperCase() : append;\n }\n else {\n // begins with a consonant; find the first vowel (including \"y\", except at the start of the word)\n var firstVowelPos = this._indexOfFirstVowel(word);\n\n if (firstVowelPos !== -1) {\n // (don't translate a word without vowels; maybe it's an acronym?)\n // move leading consonants to the end, hyphenating if we're doubling them up, and append \"ay\"\n var isCapitalized = (!isAllCaps && word[0] === firstLetterUpped);\n var consonants = word.substring(0, firstVowelPos);\n\n if (isCapitalized) {\n consonants = consonants.toLowerCase();\n }\n\n var consonantsRepeated = (word.substr(-consonants.length).toUpperCase() === consonants.toUpperCase());\n var firstConsonantRepeated = (word.substr(-1).toUpperCase() === consonants[0].toUpperCase());\n var hyphen = (consonantsRepeated || firstConsonantRepeated) ? \"-\" : \"\";\n word = word.substring(consonants.length) + hyphen + consonants + (isAllCaps ? \"AY\" : \"ay\");\n\n if (isCapitalized) {\n word = word[0].toUpperCase() + word.substring(1);\n }\n }\n }\n\n return parts[1] + word + parts[4]; // restore any leading and/or trailing punctuation\n };\n\n /**\n * Splits a string into an array of fragments, i.e. alternating words and separators.\n * @param str The string to split.\n */\n PigLatin.prototype._split = function (str) {\n // word separator = any whitespace, slash, underscore, Unicode dashes, regular dash\n var re = /[\\s/_\\u2010-\\u2015-]+/gm;\n var fragments = [];\n var lastLastIndex = 0;\n\n while (true) {\n var result = re.exec(str);\n\n if (result === null) {\n // no more separators, but there might be one more word\n\n if (str && str.length > lastLastIndex) {\n fragments.push(str.substring(lastLastIndex));\n }\n break;\n }\n\n var word = str.substring(lastLastIndex, result.index);\n fragments.push(word);\n var separator = str.substring(result.index, re.lastIndex);\n fragments.push(separator);\n lastLastIndex = re.lastIndex;\n }\n\n return fragments;\n };\n\n /**\n * Gets the index of the first vowel in the given word, or -1 if it contains no vowels.\n * @param word The word in which to find a vowel.\n */\n PigLatin.prototype._indexOfFirstVowel = function (word) {\n // split off any leading Ys (result[1]), then search whatever's left, if anything (result[2]), for the first vowel\n var result = /(y*)(.*)/i.exec(word);\n var index = result[2].search(/[aeiouy]/i);\n return (index === -1) ? -1 : result[1].length + index;\n };\n\n return PigLatin;\n}());\n\nexports.default = PigLatin;\n","/**\n * The `pirate-speak` software was originally written by\n * Michael Hadley .\n * https://github.com/mikewesthad/pirate-speak\n *\n * The software was modified for use with Primer Spec.\n *\n * The original `pirate-speak` package was licensed under the MIT License,\n * included below:\n *\n *******************\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2015 Michael Hadley\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n *******************\n */\nexport const dictionary = {\n address: \"port o' call\",\n admin: 'helm',\n am: 'be',\n an: 'a',\n and: \"n'\",\n are: 'be',\n award: 'prize',\n before: 'afore',\n belief: 'creed',\n between: 'betwixt',\n big: 'vast',\n bill: 'coin',\n bills: 'coins',\n boss: 'admiral',\n box: 'barrel',\n buddy: 'mate',\n business: 'company',\n businesses: 'companies',\n calling: \"callin'\",\n canada: 'Great North',\n cash: 'coin',\n cat: 'parrot',\n cheat: 'hornswaggle',\n comes: 'hails',\n comments: 'yer words',\n cool: 'shipshape',\n country: 'land',\n dashboard: 'shanty',\n dead: \"in Davy Jones's Locker\",\n disconnect: 'keelhaul',\n // do: \"d'\",\n dog: 'parrot',\n dollar: 'doubloon',\n dollars: 'doubloons',\n dude: 'pirate',\n employee: 'crew',\n everyone: 'all hands',\n eye: 'eye-patch',\n family: 'kin',\n fee: 'debt',\n food: 'grub',\n for: 'fer',\n friend: 'matey',\n friends: 'mateys',\n go: 'sail',\n good: 'jolly good',\n grave: \"Davy Jones's Locker\",\n group: 'maties',\n haha: 'yo ho',\n hahaha: 'yo ho ho',\n hahahaha: 'yo ho ho ho',\n hand: 'hook',\n happy: 'grog-filled',\n hello: 'ahoy',\n hey: 'ahoy',\n hi: 'ahoy',\n hotel: 'fleebag inn',\n i: 'me',\n \"i'm\": 'i be',\n 'i’m': 'i be',\n internet: \"series o' tubes\",\n invalid: 'sunk',\n is: 'be',\n island: 'isle',\n \"isn't\": 'be not',\n 'isn’t': 'be not',\n \"it's\": \"'tis\",\n 'it’s': \"'tis\",\n jail: 'brig',\n kill: 'keelhaul',\n king: 'king',\n ladies: 'lasses',\n lady: 'lass',\n lawyer: 'scurvy land lubber',\n left: 'port',\n leg: 'peg',\n logout: 'walk the plank',\n lol: 'blimey',\n man: 'pirate',\n manager: 'admiral',\n money: 'doubloons',\n month: 'moon',\n my: 'me',\n never: 'nary',\n no: 'nay',\n not: 'nay',\n of: \"o'\",\n old: 'barnacle-covered',\n omg: 'shiver me timbers',\n over: \"o'er\",\n page: 'parchment',\n people: 'scallywags',\n person: 'scurvy dog',\n posted: 'tacked to the yardarm',\n president: 'king',\n prison: 'brig',\n quickly: 'smartly',\n really: 'verily',\n relative: 'kin',\n relatives: 'kin',\n religion: 'creed',\n restaurant: 'galley',\n right: 'starboard',\n rotf: \"rollin' on the decks\",\n say: 'cry',\n seconds: \"ticks o' tha clock\",\n shipping: 'cargo',\n small: 'puny',\n snack: 'grub',\n soldier: 'sailor',\n sorry: 'yarr',\n spouse: \"ball 'n' chain\",\n state: 'land',\n supervisor: \"Cap'n\",\n \"that's\": 'that be',\n // the: 'thar',\n thief: 'swoggler',\n them: \"'em\",\n // this: 'dis',\n to: \"t'\",\n together: \"t'gether\",\n treasure: 'booty',\n was: 'be',\n water: 'grog',\n we: 'our jolly crew',\n // \"we're\": \"we's\",\n // \"we’re\": \"we's\",\n with: \"wit'\",\n work: 'duty',\n yah: 'aye',\n yeah: 'aye',\n yes: 'aye',\n you: 'ye',\n \"you're\": 'you be',\n 'you’re': 'you be',\n \"you've\": 'ye',\n 'you’ve': 'ye',\n your: 'yer',\n yup: 'aye',\n // These translations were inspired by Facebook Pirate translations.\n around: 'roundabouts',\n cancel: 'retreat',\n event: 'grog fest',\n except: \"exceptin'\",\n jarnuary: 'januarrry',\n feburuary: 'februarrry',\n march: 'marrrch',\n april: \"Month o' Showers\",\n // may: \"Month o' May\",\n june: \"Merry Month o' June\",\n july: 'jul-aye',\n august: 'arrrgust',\n september: 'Septembarrr',\n october: 'Octobarrr',\n november: 'Novembarrr',\n december: 'Decembarrr',\n sunday: \"Day o' the Sun\",\n monday: 'munday',\n tuesday: \"toos'day\",\n wednesday: \"Ondin's day\",\n thursday: 'tharrrsday',\n saturday: 'satarrrday',\n today: \"t'day\",\n post: \"scrawlin'\",\n tweet: \"scrawlin'\",\n video: 'bewitched portrait',\n location: \"port o' call\",\n // Other thoughts\n file: 'parchment',\n browser: \"bewtch'd portal\",\n code: 'spells',\n program: 'magic spell',\n dependencies: 'dependen-seas',\n starter: 'starrrter',\n};\nfunction translateWord(word) {\n const pirateWord = dictionary[word.toLowerCase()];\n if (pirateWord === undefined)\n return word;\n return applyCase(word, pirateWord);\n}\n// Take the case from wordA and apply it to wordB\nfunction applyCase(wordA, wordB) {\n // Exception to avoid words like \"I\" being converted to \"ME\"\n if (wordA.length === 1 && wordB.length !== 1)\n return wordB;\n // Uppercase\n if (wordA === wordA.toUpperCase())\n return wordB.toUpperCase();\n // Lowercase\n if (wordA === wordA.toLowerCase())\n return wordB.toLowerCase();\n // Capitialized\n const firstChar = wordA.slice(0, 1);\n const otherChars = wordA.slice(1);\n if (firstChar === firstChar.toUpperCase() &&\n otherChars === otherChars.toLowerCase()) {\n return wordB.slice(0, 1).toUpperCase() + wordB.slice(1).toLowerCase();\n }\n // Other cases\n return wordB;\n}\nfunction isLetter(character) {\n if (character.search(/[a-zA-Z'’-]/) === -1)\n return false;\n return true;\n}\nexport function translate(text) {\n let translatedText = '';\n // Loop through the text, one character at a time.\n let word = '';\n for (let i = 0; i < text.length; i += 1) {\n const character = text[i];\n // If the char is a letter, then we are in the middle of a word, so we\n // should accumulate the letter into the word variable\n if (isLetter(character)) {\n word += character;\n }\n // If the char is not a letter, then we hit the end of a word, so we\n // should translate the current word and add it to the translation\n else {\n if (word != '') {\n // If we've just finished a word, translate it\n const pirateWord = translateWord(word);\n translatedText += pirateWord;\n word = '';\n }\n translatedText += character; // Add the non-letter character\n }\n }\n // If we ended the loop before translating a word, then translate the final\n // word and add it to the translation.\n if (word !== '')\n translatedText += translateWord(word);\n return translatedText;\n}\n","/**\n * This module is adapted from the Upside Down Converter on fileformat.info:\n * https://www.fileformat.info/convert/text/upside-down-map.htm\n *\n * Which is itself derived from revfad.com (by David Faden):\n * https://www.revfad.com/flip.html\n *\n * This work, and the original work, is licensed under a Creative Commons\n * Attribution-Share Alike 3.0 Unported License.\n * http://creativecommons.org/licenses/by-sa/3.0/\n *\n */\nexport function flipStringUpsideDown(aString) {\n const last = aString.length - 1;\n //Thanks to Brook Monroe for the\n //suggestion to use Array.join\n const result = new Array(aString.length);\n for (let i = last; i >= 0; --i) {\n const c = aString.charAt(i);\n const r = flipTable[c];\n result[last - i] = r != undefined ? r : c;\n }\n return result.join('');\n}\nconst flipTable = {\n '\\u0021': '\\u00A1',\n '\\u0022': '\\u201E',\n '\\u0026': '\\u214B',\n '\\u0027': '\\u002C',\n '\\u0028': '\\u0029',\n '\\u002E': '\\u02D9',\n '\\u0033': '\\u0190',\n '\\u0034': '\\u152D',\n '\\u0036': '\\u0039',\n '\\u0037': '\\u2C62',\n '\\u003B': '\\u061B',\n '\\u003C': '\\u003E',\n '\\u003F': '\\u00BF',\n A: '\\u2200',\n B: '\\u10412',\n C: '\\u2183',\n D: '\\u25D6',\n E: '\\u018E',\n F: '\\u2132',\n G: '\\u2141',\n J: '\\u017F',\n K: '\\u22CA',\n L: '\\u2142',\n M: '\\u0057',\n N: '\\u1D0E',\n P: '\\u0500',\n Q: '\\u038C',\n R: '\\u1D1A',\n T: '\\u22A5',\n U: '\\u2229',\n V: '\\u1D27',\n Y: '\\u2144',\n '\\u005B': '\\u005D',\n _: '\\u203E',\n a: '\\u0250',\n b: '\\u0071',\n c: '\\u0254',\n d: '\\u0070',\n e: '\\u01DD',\n f: '\\u025F',\n g: '\\u0183',\n h: '\\u0265',\n i: '\\u0131',\n j: '\\u027E',\n k: '\\u029E',\n l: '\\u0283',\n m: '\\u026F',\n n: '\\u0075',\n r: '\\u0279',\n t: '\\u0287',\n v: '\\u028C',\n w: '\\u028D',\n y: '\\u028E',\n '\\u007B': '\\u007D',\n '\\u203F': '\\u2040',\n '\\u2045': '\\u2046',\n '\\u2234': '\\u2235',\n};\nfor (const i in flipTable) {\n flipTable[flipTable[i]] = i;\n}\n","/** @jsx JSXDom.h */\nimport * as JSXDom from 'jsx-dom';\nimport PigLatinizer from 'pig-latinizer';\nimport { translate as pirateSpeakTranslate } from './utils/pirate_speak';\nimport { flipStringUpsideDown } from './utils/upside_down';\nlet currentLanguage = 'english';\nexport default async function AprilFoolsLanguagesPlugin() {\n insertLanguageToggleIfNeeded();\n insertDarkModeStylesIfNeeded();\n storeOriginalPageContentsIfNeeded();\n registerWindowEventListenerOnce();\n}\n///////////\n// UI ///\n///////////\nfunction insertLanguageToggleIfNeeded() {\n const languageToggleId = 'primer-spec-april-fools-language-toggle';\n const existingLanguageToggle = document.querySelector(`#${languageToggleId}`);\n if (existingLanguageToggle) {\n return;\n }\n const settingsToggleButtonContainer = document.querySelector('#primer-spec-settings-toggle');\n const settingsToggleButton = settingsToggleButtonContainer?.querySelector('#primer-spec-settings-toggle .primer-spec-hoverable');\n if (!settingsToggleButton || !settingsToggleButtonContainer) {\n console.warn('Primer Spec: April Fools Languages joke: Could not find left-most topbar toggle button or settings toggle button');\n return;\n }\n const languageToggle = settingsToggleButton.cloneNode(true);\n languageToggle.id = languageToggleId;\n languageToggle.style.paddingRight = '1em';\n const languageIcon = languageToggle.querySelector('i.fa-cog');\n languageIcon?.classList.remove('fa-cog');\n languageIcon?.classList.add('fa-language');\n settingsToggleButtonContainer.prepend(languageToggle);\n const languageToggleBtn = languageToggle.querySelector('button');\n languageToggleBtn?.addEventListener('click', () => toggleLanguagePopover());\n}\nconst languagePopoverId = 'primer-spec-april-fools-language-popover';\nfunction toggleLanguagePopover(opts) {\n const existingPopover = document.querySelector(`#${languagePopoverId}`);\n if (existingPopover) {\n existingPopover.remove();\n }\n else if (opts == null || !opts.doNotOpen) {\n const topbar = document.querySelector('header.primer-spec-topbar');\n topbar?.appendChild(JSXDom.h(\"div\", { id: languagePopoverId, class: \"Popover position-absolute\", style: \"right: 8em; pointer-events: auto;\" },\n JSXDom.h(\"div\", { class: \"Popover-message Popover-message--right-top p-4 mr-2 Box color-shadow-large\" },\n JSXDom.h(\"button\", { class: \"btn-link position-absolute primer-spec-hoverable\", style: \"top: 0.25em; right: 0.5em; font-size: 20px;\", onClick: () => toggleLanguagePopover() },\n JSXDom.h(\"i\", { class: \"fas fa-times\" })),\n JSXDom.h(\"h4\", { class: \"mb-2\" }, \"Change this page's \\\"language\\\"\"),\n JSXDom.h(\"p\", null, \"April Fools! Try reading this page in another \\\"language\\\".\"),\n JSXDom.h(\"div\", { style: \"margin-bottom: 100px\" },\n JSXDom.h(\"details\", { class: \"dropdown details-reset details-overlay d-inline-block\" },\n JSXDom.h(\"summary\", { class: \"btn\", \"aria-haspopup\": \"true\" },\n JSXDom.h(\"span\", { id: `${languagePopoverId}-chosen-language` }, \"Choose language\"),\n JSXDom.h(\"div\", { class: \"dropdown-caret\" })),\n JSXDom.h(\"ul\", { class: \"dropdown-menu dropdown-menu-se\" },\n JSXDom.h(\"li\", null, getLanguageButton('english', 'English')),\n JSXDom.h(\"li\", null, getLanguageButton('pig-latin', 'Pig Latin')),\n JSXDom.h(\"li\", null, getLanguageButton('pirate', 'Pirate')),\n JSXDom.h(\"li\", null, getLanguageButton('upside-down', 'Upside Down'))))))));\n setCurrentLanguage(currentLanguage);\n }\n}\nfunction getLanguageButton(id, label) {\n return (JSXDom.h(\"button\", { id: `${languagePopoverId}-${id}`, class: \"btn btn-link dropdown-item\", onClick: () => {\n setCurrentLanguage(id);\n } }, label));\n}\nconst DARK_MODE_STYLE_ID = 'primer-spec-april-fools-languages-dark-mode-styles';\nfunction insertDarkModeStylesIfNeeded() {\n if (!document.querySelector(`#${DARK_MODE_STYLE_ID}`)) {\n document.head.appendChild(JSXDom.h(\"style\", null,\n ':root[data-theme-mode=\"dark\"] .Popover .dropdown {',\n ' filter: invert(93%) hue-rotate(180deg);',\n '}',\n ':root[data-theme-mode=\"dark\"] .Popover .dropdown .dropdown-item {',\n ' color: #24292e',\n '}',\n ':root[data-theme-mode=\"dark\"] .Popover .dropdown .dropdown-item:hover {',\n ' color: #000;',\n '}',\n '.Popover {',\n ' color: var(--main-text-color)',\n '}',\n ':root[data-theme-mode=\"dark\"] .Popover-message {',\n ' background-color: var(--code-block-header-bg-color);',\n ' border: 1px solid #30363d;',\n '}',\n ':root[data-theme-mode=\"dark\"] .Popover-message--right-top::after {',\n ' border-left-color: #30363d;',\n '}'));\n }\n}\nfunction setCurrentLanguage(languageId) {\n if (currentLanguage !== languageId) {\n currentLanguage = languageId;\n changePageLanguage(languageId);\n }\n const chosenLanguageLabel = document.querySelector(`#${languagePopoverId}-chosen-language`);\n const chosenLanguageButton = document.querySelector(`#${languagePopoverId}-${currentLanguage}`);\n if (chosenLanguageLabel && chosenLanguageButton) {\n chosenLanguageLabel.innerHTML = chosenLanguageButton.innerHTML;\n }\n // Close the dropdown\n document\n .querySelector('#primer-spec-april-fools-language-popover details.dropdown')\n ?.removeAttribute('open');\n}\nlet windowEventRegistered = false;\nfunction registerWindowEventListenerOnce() {\n if (!windowEventRegistered) {\n // If the user clicks outside the language popover, close the popover if it's\n // open.\n window.addEventListener('click', (event) => {\n const target = event?.target;\n if (target &&\n target.closest('#primer-spec-april-fools-language-popover, #primer-spec-april-fools-language-toggle') == null &&\n document.body.contains(target)) {\n toggleLanguagePopover({ doNotOpen: true });\n }\n });\n windowEventRegistered = true;\n }\n}\n/////////////////////////////\n// LANGUAGE CHANGE INFRA //\n/////////////////////////////\nlet originalPageContents = null;\nfunction storeOriginalPageContentsIfNeeded() {\n if (!originalPageContents) {\n const mainContent = document.querySelector('main#primer-spec-preact-main-content');\n originalPageContents = mainContent?.innerHTML ?? null;\n }\n}\nasync function changePageLanguage(languageId) {\n const TRANSLATOR_GETTERS = {\n english: getEnglishTranslator,\n 'pig-latin': getPigLatinTranslator,\n pirate: getPirateTranslator,\n 'upside-down': getUpsideDownTranslator,\n };\n if (originalPageContents && languageId in TRANSLATOR_GETTERS) {\n const translatedHtml = translate(originalPageContents, await TRANSLATOR_GETTERS[languageId]());\n setMainContentHTML(translatedHtml);\n }\n}\nfunction setMainContentHTML(html) {\n const mainContent = document.querySelector('main#primer-spec-preact-main-content');\n if (!mainContent) {\n return;\n }\n mainContent.innerHTML = html;\n}\nfunction translate(originalHtmlStr, translator) {\n const translateChildNodes = (parentEl) => {\n const newChildNodes = [...parentEl.childNodes].map((node) => {\n if (node.nodeType == Node.TEXT_NODE) {\n node.textContent = translator(node.textContent);\n return node;\n }\n else if (node.nodeType === Node.ELEMENT_NODE) {\n if (node.classList.contains('primer-spec-code-block') ||\n node.classList.contains('primer-spec-code-block-processed') ||\n node.classList.contains('primer-spec-mermaid-output')) {\n return node;\n }\n const newNode = node.cloneNode(true);\n translateChildNodes(newNode);\n return newNode;\n }\n return node;\n });\n parentEl.innerHTML = '';\n parentEl.append(...newChildNodes);\n };\n const originalHtml = new DOMParser().parseFromString(originalHtmlStr, 'text/html').body;\n translateChildNodes(originalHtml);\n return originalHtml.innerHTML;\n}\n////////////////////////////////\n// LANGUAGE IMPLEMENTATIONS //\n////////////////////////////////\nfunction getEnglishTranslator() {\n return Promise.resolve((text) => text);\n}\nasync function getPigLatinTranslator() {\n const translator = new PigLatinizer();\n return (text) => (text ? translator.translate(text) : text);\n}\nasync function getPirateTranslator() {\n return (text) => (text ? pirateSpeakTranslate(text) : text);\n}\nasync function getUpsideDownTranslator() {\n return (text) => (text ? flipStringUpsideDown(text) : text);\n}\n"],"names":["PigLatin","this","exclusions","prototype","translate","english","_split","map","_translateOne","bind","join","fragment","parts","exec","word","substring","indexOf","test","isAllCaps","toUpperCase","length","firstLetterUpped","lastChar","append","firstVowelPos","_indexOfFirstVowel","isCapitalized","consonants","toLowerCase","consonantsRepeated","substr","firstConsonantRepeated","hyphen","str","re","fragments","lastLastIndex","result","push","index","separator","lastIndex","search","exports","dictionary","address","admin","am","an","and","are","award","before","belief","between","big","bill","bills","boss","box","buddy","business","businesses","calling","canada","cash","cat","cheat","comes","comments","cool","country","dashboard","dead","disconnect","dog","dollar","dollars","dude","employee","everyone","eye","family","fee","food","for","friend","friends","go","good","grave","group","haha","hahaha","hahahaha","hand","happy","hello","hey","hi","hotel","i","internet","invalid","is","island","jail","kill","king","ladies","lady","lawyer","left","leg","logout","lol","man","manager","money","month","my","never","no","not","of","old","omg","over","page","people","person","posted","president","prison","quickly","really","relative","relatives","religion","restaurant","right","rotf","say","seconds","shipping","small","snack","soldier","sorry","spouse","state","supervisor","thief","them","to","together","treasure","was","water","we","with","work","yah","yeah","yes","you","your","yup","around","cancel","event","except","jarnuary","feburuary","march","april","june","july","august","september","october","november","december","sunday","monday","tuesday","wednesday","thursday","saturday","today","post","tweet","video","location","file","browser","code","program","dependencies","starter","translateWord","pirateWord","undefined","wordA","wordB","firstChar","slice","otherChars","applyCase","isLetter","character","flipTable","A","B","C","D","E","F","G","J","K","L","M","N","P","Q","R","T","U","V","Y","_","a","b","c","d","e","f","g","h","j","k","l","m","n","r","t","v","w","y","currentLanguage","async","AprilFoolsLanguagesPlugin","languageToggleId","document","querySelector","settingsToggleButtonContainer","settingsToggleButton","console","warn","languageToggle","cloneNode","id","style","paddingRight","languageIcon","classList","remove","add","prepend","addEventListener","toggleLanguagePopover","insertLanguageToggleIfNeeded","DARK_MODE_STYLE_ID","head","appendChild","originalPageContents","mainContent","innerHTML","storeOriginalPageContentsIfNeeded","windowEventRegistered","window","target","closest","body","contains","doNotOpen","languagePopoverId","opts","existingPopover","class","onClick","getLanguageButton","setCurrentLanguage","label","languageId","TRANSLATOR_GETTERS","getEnglishTranslator","getPigLatinTranslator","pirate","getPirateTranslator","getUpsideDownTranslator","html","setMainContentHTML","originalHtmlStr","translator","translateChildNodes","parentEl","newChildNodes","childNodes","node","nodeType","Node","TEXT_NODE","textContent","ELEMENT_NODE","newNode","originalHtml","DOMParser","parseFromString","changePageLanguage","chosenLanguageLabel","chosenLanguageButton","removeAttribute","Promise","resolve","text","translatedText","aString","last","Array","charAt","flipStringUpsideDown"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/v1.10/js/733.primer_spec_plugin.min.js b/assets/v1.10/js/733.primer_spec_plugin.min.js new file mode 100644 index 00000000..de96c0b9 --- /dev/null +++ b/assets/v1.10/js/733.primer_spec_plugin.min.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[733],{733:(e,t,o)=>{o.r(t),o.d(t,{default:()=>s});var n=o(916);async function s(e){window.PrimerSpec?.REGISTERED_SUBTHEMES?.spooky||(window.PrimerSpec?.registerNewSubtheme?.("spooky","🎃 Spooky 👻",function(){const e=window.PrimerSpec.REGISTERED_SUBTHEMES.default.theme_definition,t=JSON.parse(JSON.stringify(e));return document.head.appendChild(n.h("link",{href:"https://fonts.googleapis.com/css2?family=Creepster&family=Architects+Daughter&display=swap",rel:"stylesheet"})),t.light=t.dark,t}()),window.PrimerSpec?.updateTheme?.({},!1)),e.settings_shown?document.querySelectorAll("svg.primer-spec-theme-preview-spooky-light, svg.primer-spec-theme-preview-spooky-dark").forEach((e=>{e.querySelector(".spooky-pumpkins")||e.appendChild(n.h("text",{class:"spooky-pumpkins",x:"180",y:"130","dominant-baseline":"middle","text-anchor":"middle",style:"font-size: 72px;"},"🎃🎃🎃"))})):function(){const e=document.querySelector("#primer-spec-settings-toggle i.fa-cog")?.classList;e&&(e.remove("fa-cog"),e.add("fa-hat-wizard"))}(),document.querySelectorAll(".primer-spec-hoverable i.fa-bars").forEach((e=>{e.classList.remove("fa-cog"),e.classList.add("fa-book-dead")})),function(e){const t=document.getElementById("primer-spec-halloween-font");"spooky"!==e||t?"spooky"!==e&&t&&t.remove():document.body.appendChild(n.h("style",{id:"primer-spec-halloween-font"},"body, .markdown-body, p ","{","font-family: 'Architects Daughter'; ","}","h1, h2, h3, h4, h5, h6 ","{","font-family: 'Creepster' !important; ","}"))}(e.subtheme_name),"spooky"===e.subtheme_name?(document.body.addEventListener("dblclick",i,{passive:!0}),document.body.addEventListener("touchend",i,{passive:!0})):(document.body.removeEventListener("dblclick",i),document.body.removeEventListener("touchend",i)),c(e.subtheme_name)}function i(e){let t,o;e instanceof TouchEvent?(t=e.touches[0].clientX,o=e.touches[0].clientY):(t=e.clientX,o=e.clientY),t-=16,o-=16;const s=n.h("span",{style:`position: fixed; top: ${o}px; left: ${t}px; z-index: 1000; font-size: 32px; transition: all 1s ease-out; user-select: none;`},"👻");setTimeout((()=>{s.style.transform=`translateY(-${Math.round(48)}px)`,s.style.opacity="0"}),0),setTimeout((()=>{s.remove()}),1500),document.body.append(s)}function a(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}const r="primer-spec-shy-emoji",p="primer-spec-shy-emoji-keyframes";function c(e){document.getElementById(r)?.remove(),document.getElementById(p)?.remove(),"spooky"===e&&function(e){const t=a(10,90),o=["🎃","👻","🤫","🧙","🧛","🧟","👺"],s=o[a(0,o.length)],i=0===a(0,2)?"right":"left",l=n.h("style",{id:p},"@keyframes peak-in-out {"," from {",` ${i}: -70px;`," }"," 20% {",` ${i}: -20px;`," }"," 80% {",` ${i}: -20px;`," }"," to {",` ${i}: -70px;`," }","}","@keyframes fly {"," 25% {",` top: ${a(10,90)}vh;`," }"," 60% {",` top: ${a(-1,101)}vh;`," }"," to {",` top: ${a(-10,110)}vh;`,` ${i}: 110vw;`," }","}");document.body.append(l);const m=n.h("span",{id:r,style:`position: fixed; top: ${t}%; ${i}: -70px; font-size: 60px; z-index: 1000; user-select: none; cursor: pointer;`,onClick:()=>{m.style[i]=window.getComputedStyle(m)[i],m.style.animationDelay="0s",m.style.animationDuration="3s",m.style.animationName="fly"}},s);m.style.animationFillMode="forwards",m.style.animationDelay="2s",m.style.animationDuration="25s",m.style.animationTimingFunction="ease-in-out",m.style.animationName="peak-in-out",m.onanimationend=()=>{m.remove(),l.remove(),c(e)},document.body.append(m)}(e)}}}]); +//# sourceMappingURL=733.primer_spec_plugin.min.js.map \ No newline at end of file diff --git a/assets/v1.10/js/733.primer_spec_plugin.min.js.map b/assets/v1.10/js/733.primer_spec_plugin.min.js.map new file mode 100644 index 00000000..4f388b0b --- /dev/null +++ b/assets/v1.10/js/733.primer_spec_plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"733.primer_spec_plugin.min.js","mappings":"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","sources":["webpack:///./conditional_plugins/plugins/halloween.plugin.tsx"],"sourcesContent":["/** @jsx JSXDom.h */\nimport * as JSXDom from 'jsx-dom';\nexport default async function HalloweenPlugin(input) {\n registerHalloweenSubthemeIfNeeded();\n if (!input.settings_shown) {\n replaceSettingsToggleWithHat();\n }\n else {\n insertPumpkinsInThemePreview();\n }\n replaceSidebarToggleWithBook();\n toggleFontIfNeeded(input.subtheme_name);\n registerDblclickEasterEggIfNeeded(input.subtheme_name);\n insertShyEmojiIfNeeded(input.subtheme_name);\n}\nfunction replaceSettingsToggleWithHat() {\n const settingsIconClassList = document.querySelector('#primer-spec-settings-toggle i.fa-cog')?.classList;\n if (settingsIconClassList) {\n settingsIconClassList.remove('fa-cog');\n settingsIconClassList.add('fa-hat-wizard');\n }\n}\nfunction replaceSidebarToggleWithBook() {\n const sidebarToggles = document.querySelectorAll('.primer-spec-hoverable i.fa-bars');\n sidebarToggles.forEach((sidebarToggle) => {\n sidebarToggle.classList.remove('fa-cog');\n sidebarToggle.classList.add('fa-book-dead');\n });\n}\n// Acknowledgement: The _design_ inspiration for this easter egg comes from a\n// similar easter egg in WhatsApp Web, where clicking on an expired \"view-once\"\n// media message shows an animated \"🤫\" emoji.\nfunction createGhostEasterEggOnClick(event) {\n let startX, startY;\n if (event instanceof TouchEvent) {\n startX = event.touches[0].clientX;\n startY = event.touches[0].clientY;\n }\n else {\n startX = event.clientX;\n startY = event.clientY;\n }\n const ghostSize = 32;\n startX -= ghostSize / 2;\n startY -= ghostSize / 2;\n const easterEggEmoji = (JSXDom.h(\"span\", { style: `position: fixed; top: ${startY}px; left: ${startX}px; z-index: 1000; font-size: ${ghostSize}px; transition: all 1s ease-out; user-select: none;` }, \"\\uD83D\\uDC7B\"));\n // Animate the ghost right after it's rendered.\n setTimeout(() => {\n easterEggEmoji.style.transform = `translateY(-${Math.round(ghostSize * 1.5)}px)`;\n easterEggEmoji.style.opacity = '0';\n }, 0);\n // And clean up after the animation is complete.\n setTimeout(() => {\n easterEggEmoji.remove();\n }, 1500);\n // Add the ghost to the page!\n document.body.append(easterEggEmoji);\n}\nfunction registerDblclickEasterEggIfNeeded(subtheme_name) {\n if (subtheme_name === 'spooky') {\n document.body.addEventListener('dblclick', createGhostEasterEggOnClick, {\n passive: true,\n });\n document.body.addEventListener('touchend', createGhostEasterEggOnClick, {\n passive: true,\n });\n }\n else {\n document.body.removeEventListener('dblclick', createGhostEasterEggOnClick);\n document.body.removeEventListener('touchend', createGhostEasterEggOnClick);\n }\n}\nfunction insertPumpkinsInThemePreview() {\n document\n .querySelectorAll('svg.primer-spec-theme-preview-spooky-light, svg.primer-spec-theme-preview-spooky-dark')\n .forEach((svg) => {\n if (!svg.querySelector('.spooky-pumpkins')) {\n svg.appendChild(JSXDom.h(\"text\", { class: \"spooky-pumpkins\", x: \"180\", y: \"130\", \"dominant-baseline\": \"middle\", \"text-anchor\": \"middle\", style: \"font-size: 72px;\" }, \"\\uD83C\\uDF83\\uD83C\\uDF83\\uD83C\\uDF83\"));\n }\n });\n}\nfunction registerHalloweenSubthemeIfNeeded() {\n if (!window.PrimerSpec?.REGISTERED_SUBTHEMES?.['spooky']) {\n // NOTE: This block of code will only ever be called ONCE per page session.\n window.PrimerSpec?.registerNewSubtheme?.('spooky', '🎃 Spooky 👻', constructHalloweenSubtheme());\n // Force-update the theme. The page will have already loaded with the\n // default theme, so we need to re-render with the spooky theme.\n window.PrimerSpec?.updateTheme?.({}, false);\n }\n}\nfunction constructHalloweenSubtheme() {\n // NOTE: This method will only ever be called ONCE per page session.\n // Hence, we can perform actions that modify the page state without\n // having to worry about duplicated effects.\n // Start by deep-copying the default theme's definition.\n const defaultSubthemeDef = window.PrimerSpec.REGISTERED_SUBTHEMES['default'].theme_definition;\n const halloweenSubthemeDef = JSON.parse(JSON.stringify(defaultSubthemeDef));\n // Since we want to use a custom font, we need to inject it into the page.\n document.head.appendChild(JSXDom.h(\"link\", { href: \"https://fonts.googleapis.com/css2?family=Creepster&family=Architects+Daughter&display=swap\", rel: \"stylesheet\" }));\n // 'Spooky' is a dark-only theme. We'll first define the dark-mode colors,\n // then we'll completely remove the light-mode colors.\n // Finally, replace the light colors with the dark ones.\n halloweenSubthemeDef['light'] = halloweenSubthemeDef['dark'];\n return halloweenSubthemeDef;\n}\nfunction toggleFontIfNeeded(subtheme_name) {\n const existingStyleTag = document.getElementById('primer-spec-halloween-font');\n if (subtheme_name === 'spooky' && !existingStyleTag) {\n document.body.appendChild(JSXDom.h(\"style\", { id: \"primer-spec-halloween-font\" },\n \"body, .markdown-body, p \",\n '{',\n \"font-family: 'Architects Daughter'; \",\n '}',\n \"h1, h2, h3, h4, h5, h6 \",\n '{',\n \"font-family: 'Creepster' !important; \",\n '}'));\n }\n else if (subtheme_name !== 'spooky' && existingStyleTag) {\n existingStyleTag.remove();\n }\n}\nfunction getRandomInt(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min)) + min;\n}\n/*** SHY EMOJI ***/\nconst emojiSpanId = 'primer-spec-shy-emoji';\nconst keyframesCssId = 'primer-spec-shy-emoji-keyframes';\nfunction insertShyEmojiImpl(subtheme_name) {\n const initHeight = getRandomInt(10, 90);\n const spookyEmojis = ['🎃', '👻', '🤫', '🧙', '🧛', '🧟', '👺'];\n const chosenEmoji = spookyEmojis[getRandomInt(0, spookyEmojis.length)];\n const peakFromMargin = getRandomInt(0, 2) === 0 ? 'right' : 'left';\n const shyEmojiKeyframes = (JSXDom.h(\"style\", { id: keyframesCssId },\n '@keyframes peak-in-out {',\n ' from {',\n ` ${peakFromMargin}: -70px;`,\n ' }',\n ' 20% {',\n ` ${peakFromMargin}: -20px;`,\n ' }',\n ' 80% {',\n ` ${peakFromMargin}: -20px;`,\n ' }',\n ' to {',\n ` ${peakFromMargin}: -70px;`,\n ' }',\n '}',\n '@keyframes fly {',\n ' 25% {',\n ` top: ${getRandomInt(10, 90)}vh;`,\n ' }',\n ' 60% {',\n ` top: ${getRandomInt(-1, 101)}vh;`,\n ' }',\n ' to {',\n ` top: ${getRandomInt(-10, 110)}vh;`,\n ` ${peakFromMargin}: 110vw;`,\n ' }',\n '}'));\n document.body.append(shyEmojiKeyframes);\n const shyEmoji = (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n JSXDom.h(\"span\", { id: emojiSpanId, style: `position: fixed; top: ${initHeight}%; ${peakFromMargin}: -70px; font-size: 60px; z-index: 1000; user-select: none; cursor: pointer;`, onClick: () => {\n // If the emoji is still in the middle of peaking in, we want the\n // animation to begin from wherever it currently is.\n shyEmoji.style[peakFromMargin] = window.getComputedStyle(shyEmoji)[peakFromMargin];\n shyEmoji.style.animationDelay = '0s';\n shyEmoji.style.animationDuration = '3s';\n shyEmoji.style.animationName = 'fly';\n } }, chosenEmoji));\n // Peak In and Out\n shyEmoji.style.animationFillMode = 'forwards';\n shyEmoji.style.animationDelay = '2s';\n shyEmoji.style.animationDuration = '25s';\n shyEmoji.style.animationTimingFunction = 'ease-in-out';\n shyEmoji.style.animationName = 'peak-in-out';\n // CLEANUP\n shyEmoji.onanimationend = () => {\n shyEmoji.remove();\n shyEmojiKeyframes.remove();\n // Rinse and repeat!\n insertShyEmojiIfNeeded(subtheme_name);\n };\n document.body.append(shyEmoji);\n}\nfunction insertShyEmojiIfNeeded(subtheme_name) {\n document.getElementById(emojiSpanId)?.remove();\n document.getElementById(keyframesCssId)?.remove();\n if (subtheme_name === 'spooky') {\n insertShyEmojiImpl(subtheme_name);\n }\n}\n"],"names":["async","HalloweenPlugin","input","window","PrimerSpec","REGISTERED_SUBTHEMES","registerNewSubtheme","defaultSubthemeDef","theme_definition","halloweenSubthemeDef","JSON","parse","stringify","document","head","appendChild","href","rel","constructHalloweenSubtheme","updateTheme","settings_shown","querySelectorAll","forEach","svg","querySelector","class","x","y","style","settingsIconClassList","classList","remove","add","replaceSettingsToggleWithHat","sidebarToggle","subtheme_name","existingStyleTag","getElementById","body","id","toggleFontIfNeeded","addEventListener","createGhostEasterEggOnClick","passive","removeEventListener","insertShyEmojiIfNeeded","event","startX","startY","TouchEvent","touches","clientX","clientY","ghostSize","easterEggEmoji","setTimeout","transform","Math","round","opacity","append","getRandomInt","min","max","ceil","floor","random","emojiSpanId","keyframesCssId","initHeight","spookyEmojis","chosenEmoji","length","peakFromMargin","shyEmojiKeyframes","shyEmoji","onClick","getComputedStyle","animationDelay","animationDuration","animationName","animationFillMode","animationTimingFunction","onanimationend","insertShyEmojiImpl"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/v1.10/js/primer_spec_plugin.min.js b/assets/v1.10/js/primer_spec_plugin.min.js new file mode 100644 index 00000000..70168ad6 --- /dev/null +++ b/assets/v1.10/js/primer_spec_plugin.min.js @@ -0,0 +1,2 @@ +(()=>{var e,t={287:function(e,t){var o,r,n;!function(i,l){"use strict";r=[],void 0===(n="function"==typeof(o=function(){return function(e){function t(e){e.icon=Object.prototype.hasOwnProperty.call(e,"icon")?e.icon:"",e.visible=Object.prototype.hasOwnProperty.call(e,"visible")?e.visible:"hover",e.placement=Object.prototype.hasOwnProperty.call(e,"placement")?e.placement:"right",e.ariaLabel=Object.prototype.hasOwnProperty.call(e,"ariaLabel")?e.ariaLabel:"Anchor",e.class=Object.prototype.hasOwnProperty.call(e,"class")?e.class:"",e.base=Object.prototype.hasOwnProperty.call(e,"base")?e.base:"",e.truncate=Object.prototype.hasOwnProperty.call(e,"truncate")?Math.floor(e.truncate):64,e.titleText=Object.prototype.hasOwnProperty.call(e,"titleText")?e.titleText:""}function o(e){var t;if("string"==typeof e||e instanceof String)t=[].slice.call(document.querySelectorAll(e));else{if(!(Array.isArray(e)||e instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");t=[].slice.call(e)}return t}this.options=e||{},this.elements=[],t(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var r,n,i,l,c,a,s,d,u,h,p,m,f=[];if(t(this.options),"touch"===(p=this.options.visible)&&(p=this.isTouchDevice()?"always":"hover"),e||(e="h2, h3, h4, h5, h6"),0===(r=o(e)).length)return this;for(function(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style");t.className="anchorjs",t.appendChild(document.createTextNode("")),void 0===(e=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",t.sheet.cssRules.length),t.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",t.sheet.cssRules.length),t.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",t.sheet.cssRules.length),t.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',t.sheet.cssRules.length)}}(),n=document.querySelectorAll("[id]"),i=[].map.call(n,(function(e){return e.id})),c=0;c\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(e){var t=e.firstChild&&(" "+e.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,o=e.lastChild&&(" "+e.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return t||o||!1}}})?o.apply(t,r):o)||(e.exports=n)}()},772:(e,t,o)=>{var r,n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,i=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),l="object"==typeof o.g&&o.g&&o.g.Object===Object&&o.g,c="object"==typeof self&&self&&self.Object===Object&&self,a=l||c||Function("return this")(),s=(r={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"ss"},function(e){return null==r?void 0:r[e]}),d=Object.prototype.toString,u=a.Symbol,h=u?u.prototype:void 0,p=h?h.toString:void 0;e.exports=function(e){var t;return(e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return p?p.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t))&&e.replace(n,s).replace(i,"")}},916:(e,t,o)=>{"use strict";o.d(t,{h:()=>g});const r=Object.keys;function n(e){return"string"==typeof e}function i(e){return"number"==typeof e}function l(e){return"object"==typeof e?null!==e:c(e)}function c(e){return"function"==typeof e}function a(e,t){if(e)for(const o of r(e))t(e[o],o)}const s={animationIterationCount:0,borderImageOutset:0,borderImageSlice:0,borderImageWidth:0,boxFlex:0,boxFlexGroup:0,boxOrdinalGroup:0,columnCount:0,columns:0,flex:0,flexGrow:0,flexPositive:0,flexShrink:0,flexNegative:0,flexOrder:0,gridArea:0,gridRow:0,gridRowEnd:0,gridRowSpan:0,gridRowStart:0,gridColumn:0,gridColumnEnd:0,gridColumnSpan:0,gridColumnStart:0,fontWeight:0,lineClamp:0,lineHeight:0,opacity:0,order:0,orphans:0,tabSize:0,widows:0,zIndex:0,zoom:0,fillOpacity:0,floodOpacity:0,stopOpacity:0,strokeDasharray:0,strokeDashoffset:0,strokeMiterlimit:0,strokeOpacity:0,strokeWidth:0},d=["Webkit","ms","Moz","O"];function u(e){return!("boolean"==typeof e||null==e)}function h(e){return Array.isArray(e)?e.map(h).filter(Boolean).join(" "):l(e)?r(e).filter((t=>e[t])).join(" "):u(e)?""+e:""}r(s).forEach((e=>{d.forEach((t=>{s[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=0}))}));const p={animate:0,circle:0,clipPath:0,defs:0,desc:0,ellipse:0,feBlend:0,feColorMatrix:0,feComponentTransfer:0,feComposite:0,feConvolveMatrix:0,feDiffuseLighting:0,feDisplacementMap:0,feDistantLight:0,feFlood:0,feFuncA:0,feFuncB:0,feFuncG:0,feFuncR:0,feGaussianBlur:0,feImage:0,feMerge:0,feMergeNode:0,feMorphology:0,feOffset:0,fePointLight:0,feSpecularLighting:0,feSpotLight:0,feTile:0,feTurbulence:0,filter:0,foreignObject:0,g:0,image:0,line:0,linearGradient:0,marker:0,mask:0,metadata:0,path:0,pattern:0,polygon:0,polyline:0,radialGradient:0,rect:0,stop:0,svg:0,switch:0,symbol:0,text:0,textPath:0,tspan:0,use:0,view:0},m=/^(a(ll|t|u)|base[FP]|c(al|lipPathU|on)|di|ed|ex|filter[RU]|g(lyphR|r)|ke|l(en|im)|ma(rker[HUW]|s)|n|pat|pr|point[^e]|re[^n]|s[puy]|st[^or]|ta|textL|vi|xC|y|z)/;function f(e,{children:t,...o}){let i;if(o.namespaceURI||0!==p[e]||(o={...o,namespaceURI:"http://www.w3.org/2000/svg"}),n(e)){if(i=o.namespaceURI?document.createElementNS(o.namespaceURI,e):document.createElement(e),function(e,t){for(const o of r(e))v(o,e[o],t)}(o,i),b(t,i),i instanceof window.HTMLSelectElement&&null!=o.value)if(!0===o.multiple&&Array.isArray(o.value)){const e=o.value.map((e=>String(e)));i.querySelectorAll("option").forEach((t=>t.selected=e.includes(t.value)))}else i.value=o.value;l(a=o.ref)&&"current"in a?o.ref.current=i:c(o.ref)&&o.ref(i)}else c(e)&&(l(e.defaultProps)&&(o={...e.defaultProps,...o}),i=function(e){const{prototype:t}=e;return!(!t||!t.isReactComponent)}(e)?function(e,t,o){return new e(t={...t,children:o}).render()}(e,o,t):e({...o,children:t}));var a;return i}function g(e,t,...o){return(n(t)||Array.isArray(t))&&(o.unshift(t),t={}),null==(t=t||{}).children||o.length||({children:o,...t}=t),f(e,{...t,children:o},t.key)}function b(e,t){var o,r;l(r=e)&&"number"==typeof r.length&&"number"!=typeof r.nodeType?function(e,t){for(const o of[...e])b(o,t)}(e,t):n(e)||i(e)?A(document.createTextNode(e),t):null===e?A(document.createComment(""),t):(o=e)&&"number"==typeof o.nodeType&&A(e,t)}function A(e,t){t instanceof window.HTMLTemplateElement?t.content.appendChild(e):t.appendChild(e)}function _(e,t){return e.replace(/[A-Z\d]/g,(e=>t+e.toLowerCase()))}function w(e,t){null==t||!1===t||(Array.isArray(t)?t.forEach((t=>w(e,t))):n(t)?e.setAttribute("style",t):l(t)&&a(t,((t,o)=>{i(t)&&0!==s[o]?e.style[o]=t+"px":e.style[o]=t})))}function v(e,t,o){switch(e){case"xlinkActuate":case"xlinkArcrole":case"xlinkHref":case"xlinkRole":case"xlinkShow":case"xlinkTitle":case"xlinkType":return void y(o,"http://www.w3.org/1999/xlink",_(e,":"),t);case"xmlnsXlink":return void k(o,_(e,":"),t);case"xmlBase":case"xmlLang":case"xmlSpace":return void y(o,"http://www.w3.org/XML/1998/namespace",_(e,":"),t)}switch(e){case"htmlFor":return void k(o,"for",t);case"dataset":return void a(t,((e,t)=>{null!=e&&(o.dataset[t]=e)}));case"innerHTML":case"innerText":case"textContent":return void(u(t)&&(o[e]=t));case"dangerouslySetInnerHTML":return void(l(t)&&(o.innerHTML=t.__html));case"value":if(null==t||o instanceof window.HTMLSelectElement)return;if(o instanceof window.HTMLTextAreaElement)return void(o.value=t);break;case"spellCheck":return void(o.spellcheck=t);case"class":case"className":return void(c(t)?t(o):k(o,"class",h(t)));case"ref":case"namespaceURI":return;case"style":return void w(o,t)}if(c(t)){if("o"===e[0]&&"n"===e[1]){const r=e.toLowerCase();null==o[r]?o[r]=t:o.addEventListener(e,t)}}else l(t)?o[e]=t:!0===t?k(o,e,""):!1!==t&&null!=t&&(o instanceof SVGElement&&!m.test(e)?k(o,_(e,"-"),t):k(o,e,t))}function k(e,t,o){e.setAttribute(t,o)}function y(e,t,o,r){e.setAttributeNS(t,o,r)}Object.defineProperties(class{constructor(e){this.props=e}render(){return null}}.prototype,{isReactComponent:{value:!0}});const E=new Map,S=e=>(t,...o)=>({style:r,...n})=>{const i=t.length-1,l=t.slice(0,i).reduce(((e,t,r)=>e+t+o[r](n)),"")+t[i];return g(e,{style:[l,r],...n})};new Proxy((e=>S(e)),{get:(e,t)=>function(e,o,r){if(e.has(o))return e.get(o);{const r=S(t);return e.set(o,r),r}}(E,t)})}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var i=o[e]={exports:{}};return t[e].call(i.exports,i,i.exports,r),i.exports}r.m=t,r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,o)=>(r.f[o](e,t),t)),[])),r.u=e=>e+".primer_spec_plugin.min.js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},r.l=(t,o,n,i)=>{if(e[t])e[t].push(o);else{var l,c;if(void 0!==n)for(var a=document.getElementsByTagName("script"),s=0;s{l.onerror=l.onload=null,clearTimeout(h);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(r))),o)return o(r)},h=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.bind(null,l.onload),c&&document.head.appendChild(l)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var o=t.getElementsByTagName("script");o.length&&(e=o[o.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={179:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else{var i=new Promise(((o,r)=>n=e[t]=[o,r]));o.push(n[2]=i);var l=r.p+r.u(t),c=new Error;r.l(l,(o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=o&&("load"===o.type?"missing":o.type),l=o&&o.target&&o.target.src;c.message="Loading chunk "+t+" failed.\n("+i+": "+l+")",c.name="ChunkLoadError",c.type=i,c.request=l,n[1](c)}}),"chunk-"+t,t)}};var t=(t,o)=>{var n,i,[l,c,a]=o,s=0;if(l.some((t=>0!==e[t]))){for(n in c)r.o(c,n)&&(r.m[n]=c[n]);a&&a(r)}for(t&&t(o);s{"use strict";var e,t,o,n,i,l,c=r(287),a=r.n(c),s={},d=[],u=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(e,t){for(var o in t)e[o]=t[o];return e}function p(e){var t=e.parentNode;t&&t.removeChild(e)}function m(t,o,r){var n,i,l,c={};for(l in o)"key"==l?n=o[l]:"ref"==l?i=o[l]:c[l]=o[l];if(arguments.length>2&&(c.children=arguments.length>3?e.call(arguments,2):r),"function"==typeof t&&null!=t.defaultProps)for(l in t.defaultProps)void 0===c[l]&&(c[l]=t.defaultProps[l]);return f(t,c,n,i,null)}function f(e,r,n,i,l){var c={type:e,props:r,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==l?++o:l};return null==l&&null!=t.vnode&&t.vnode(c),c}function g(e){return e.children}function b(e,t){this.props=e,this.context=t}function A(e,t){if(null==t)return e.__?A(e.__,e.__.__k.indexOf(e)+1):null;for(var o;t0?f(b.type,b.props,b.key,null,b.__v):b)){if(b.__=o,b.__b=o.__b+1,null===(m=k[h])||m&&b.key==m.key&&b.type===m.type)k[h]=void 0;else for(p=0;p=r.__.length&&r.__.push({}),r.__[e]}function W(e){return U=1,function(e,t,o){var r=G(D++,2);return r.t=e,r.__c||(r.__=[re(void 0,t),function(e){var t=r.t(r.__[0],e);r.__[0]!==t&&(r.__=[t,r.__[1]],r.__c.setState({}))}],r.__c=R),r.__}(re,e)}function K(e,o){var r=G(D++,3);!t.__s&&oe(r.__H,o)&&(r.__=e,r.__H=o,R.__H.__h.push(r))}function q(e,o){var r=G(D++,4);!t.__s&&oe(r.__H,o)&&(r.__=e,r.__H=o,R.__h.push(r))}function Q(e){return U=5,V((function(){return{current:e}}),[])}function V(e,t){var o=G(D++,7);return oe(o.__H,t)&&(o.__=e(),o.__H=t,o.__h=e),o.__}function X(e,t){return U=8,V((function(){return e}),t)}function Z(){for(var e;e=H.shift();)if(e.__P)try{e.__H.__h.forEach(ee),e.__H.__h.forEach(te),e.__H.__h=[]}catch(o){e.__H.__h=[],t.__e(o,e.__v)}}t.__b=function(e){R=null,$&&$(e)},t.__r=function(e){j&&j(e),D=0;var t=(R=e.__c).__H;t&&(t.__h.forEach(ee),t.__h.forEach(te),t.__h=[])},t.diffed=function(e){F&&F(e);var o=e.__c;o&&o.__H&&o.__H.__h.length&&(1!==H.push(o)&&B===t.requestAnimationFrame||((B=t.requestAnimationFrame)||function(e){var t,o=function(){clearTimeout(r),J&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(o,100);J&&(t=requestAnimationFrame(o))})(Z)),R=null},t.__c=function(e,o){o.some((function(e){try{e.__h.forEach(ee),e.__h=e.__h.filter((function(e){return!e.__||te(e)}))}catch(r){o.some((function(e){e.__h&&(e.__h=[])})),o=[],t.__e(r,e.__v)}})),Y&&Y(e,o)},t.unmount=function(e){z&&z(e);var o,r=e.__c;r&&r.__H&&(r.__H.__.forEach((function(e){try{ee(e)}catch(e){o=e}})),o&&t.__e(o,r.__v))};var J="function"==typeof requestAnimationFrame;function ee(e){var t=R,o=e.__c;"function"==typeof o&&(e.__c=void 0,o()),R=t}function te(e){var t=R;e.__c=e.__(),R=t}function oe(e,t){return!e||e.length!==t.length||t.some((function(t,o){return t!==e[o]}))}function re(e,t){return"function"==typeof t?t(e):t}const ne=["--sidebar-bg-color","--sidebar-border-color","--sidebar-heading-text-color","--sidebar-heading-link-color","--sidebar-toc-h1-link-color","--sidebar-toc-h1-border-color","--sidebar-toc-h2-link-color","--sidebar-active-toc-section-bg-color","--sidebar-active-toc-section-link-color","--sidebar-active-toc-h1-section-link-color","--sidebar-active-toc-h2-section-link-color","--sidebar-toc-section-link-color","--sidebar-tt-active-text-color","--sidebar-tt-active-bg-color","--sidebar-tt-active-border","--sidebar-tt-active-border-radius","--sidebar-resize-handle","--main-heading-text-color","--main-heading-link-color","--main-link-color","--hoverable-link-hover-color","--main-header-border-bottom-color","--main-image-border-color","--main-image-border-color-inverted","--tt-text-color","--tt-bg-color","--tt-border","--tt-border-radius","--main-bg-color","--main-text-color","--main-table-bg-color","--main-table-bg-contrast-color","--main-table-pre-bg-color","--main-table-pre-text-color","--main-table-pre-border","--main-blockquote-text-color","--main-blockquote-text-border","--main-header-border-bottom-color","--primer-spec-callout-neutral-bg-color","--primer-spec-callout-neutral-text-color","--primer-spec-callout-neutral-border-color","--primer-spec-callout-info-bg-color","--primer-spec-callout-info-text-color","--primer-spec-callout-info-border-color","--primer-spec-callout-info-icon-color","--primer-spec-callout-warning-bg-color","--primer-spec-callout-warning-text-color","--primer-spec-callout-warning-border-color","--primer-spec-callout-warning-icon-color","--primer-spec-callout-danger-bg-color","--primer-spec-callout-danger-text-color","--primer-spec-callout-danger-border-color","--primer-spec-callout-danger-icon-color","--primer-spec-callout-success-bg-color","--primer-spec-callout-success-text-color","--primer-spec-callout-success-border-color","--primer-spec-callout-success-icon-color","--code-block-default-color","--code-block-border-color","--code-block-header-bg-color","--code-block-bg-color","--code-block-line-number-color","--code-block-highlight-bg-color","--code-block-highlight-shadow-color","--code-block-button-color","--code-block-button-bg-color","--code-block-button-border-color","--code-block-button-shadow","--code-block-button-shadow-inset-color","--code-block-button-hover-bg-color","--code-block-button-hover-border-color","--tooltip-background-color","--tooltip-color","--kbd-border-color"],ie=["color","background-color","font-style","font-weight"],le=["cm","cp","c1","cs","cd","c","err","gd","ge","gr","gh","gi","go","gp","gs","gu","gt","kc","kd","kn","kp","kr","kt","kv","k","mf","mh","il","mi","mo","mb","mx","m","sb","sc","sd","s2","se","sh","si","sx","sr","s1","ss","s","na","bp","nb","nc","no","nd","ni","ne","nf","nl","nn","nt","nx","vc","vg","vi","nv","ow","o","w","txt"];function ce(){const e=document.documentElement;le.map((t=>{ie.map((o=>{const r=`--primer-spec-rouge-${t}-${o}`;e.style.removeProperty(r)}))}))}function ae(e,t){return{name:e,apply:()=>function(e){const t=document.documentElement;le.map((o=>{if(e[o])for(const[r,n]of Object.entries(e[o])){const e=`--primer-spec-rouge-${o}-${r}`;t.style.setProperty(e,n??null)}}))}(t),reset:ce}}const se="#a6e22e",de="#f92672",ue="#960050",he="#49483e",pe="#999999",me="#868064",fe="#aaaaaa",ge="#ae81ff",be="#66d9ef",Ae="#e6db74",_e="#f6aa11",we="#ffffff",ve={cm:{color:me},cp:{color:fe},c1:{color:me},cs:{color:me},cd:{color:me},c:{color:me},err:{color:ue},gd:{color:he},ge:{color:fe,"font-style":"italic"},gr:{color:ue},gh:{color:"#999999"},gi:{color:he},go:{color:pe},gp:{color:pe},gs:{"font-weight":"bold"},gu:{color:fe},gt:{color:ue},kc:{color:be},kd:{color:be,"font-style":"italic"},kn:{color:de},kp:{color:de},kr:{color:be},kt:{color:be,"font-style":"italic"},kv:{color:de},k:{color:de},mf:{color:ge},mh:{color:ge},il:{color:ge},mi:{color:ge},mo:{color:ge},mb:{color:ge},mx:{color:ge},m:{color:ge},sb:{color:Ae},sc:{color:ge},sd:{color:Ae},s2:{color:Ae},se:{color:ge},sh:{color:Ae},si:{color:Ae},sx:{color:Ae},sr:{color:_e},s1:{color:Ae},ss:{color:ge},s:{color:Ae},na:{color:se},bp:{color:we},nb:{color:_e},nc:{color:se},no:{color:be},nd:{color:se},ni:{color:we},ne:{color:se},nf:{color:se},nl:{color:we},nn:{color:we},nt:{color:de},nx:{color:we},vc:{color:we},vg:{color:we},vi:{color:we},nv:{color:we},ow:{color:de},o:{color:we},w:{color:we},txt:{color:we,"background-color":"rgb(35, 37, 41)"}},ke={default:ae("default",{cm:{color:"#999988","font-style":"italic"},cp:{color:"#999999","font-weight":"bold"},c1:{color:"#999988","font-style":"italic"},cs:{color:"#999999","font-weight":"bold","font-style":"italic"},cd:{color:"#999988","font-style":"italic"},c:{color:"#999988","font-style":"italic"},err:{color:"#a61717","background-color":"#e3d2d2"},gd:{color:"#000000","background-color":"#ffdddd"},ge:{color:"#000000","font-style":"italic"},gr:{color:"#aa0000"},gh:{color:"#999999"},gi:{color:"#000000","background-color":"#ddffdd"},go:{color:"#888888"},gp:{color:"#555555"},gs:{"font-weight":"bold"},gu:{color:"#aaaaaa"},gt:{color:"#aa0000"},kc:{color:"#000000","font-weight":"bold"},kd:{color:"#000000","font-weight":" bold"},kn:{color:"#000000","font-weight":"bold"},kp:{color:"#000000","font-weight":"bold"},kr:{color:"#000000","font-weight":"bold"},kt:{color:"#445588","font-weight":"bold"},kv:{color:"#000000","font-weight":"bold"},k:{color:"#000000","font-weight":"bold"},mf:{color:"#009999"},mh:{color:"#009999"},il:{color:"#009999"},mi:{color:"#009999"},mo:{color:"#009999"},mb:{color:"#009999"},mx:{color:"#009999"},m:{color:"#009999"},sb:{color:"#d14"},sc:{color:"#d14"},sd:{color:"#d14"},s2:{color:"#d14"},se:{color:"#d14"},sh:{color:"#d14"},si:{color:"#d14"},sx:{color:"#d14"},sr:{color:"#009926"},s1:{color:"#d14"},ss:{color:"#990073"},s:{color:"#d14"},na:{color:"#008080"},bp:{color:"#999999"},nb:{color:"#0086B3"},nc:{color:"#445588","font-weight":"bold"},no:{color:"#008080"},nd:{color:"#3c5d5d","font-weight":"bold"},ni:{color:"#800080"},ne:{color:"#990000","font-weight":"bold"},nf:{color:"#990000","font-weight":"bold"},nl:{color:"#990000","font-weight":"bold"},nn:{color:"#555555"},nt:{color:"#000080"},nx:{color:"#000000"},vc:{color:"#008080"},vg:{color:"#008080"},vi:{color:"#008080"},nv:{color:"#008080"},ow:{color:"#000000","font-weight":"bold"},o:{color:"#000000","font-weight":"bold"},w:{color:"#bbbbbb"},txt:{"background-color":"#f8f8f8"}}),monokai:ae("monokai",ve)};function ye(e,t,o){return{name:e,label:t,theme_definition:o,apply:e=>function(e,t){const o=e[t],r=document.body;for(const[e,t]of Object.entries(o))r.style.setProperty(e,t||null);let n=o.rouge_theme;n&&ke[n]||(n="default"),ke[n].apply(),document.documentElement.setAttribute("data-theme-mode",t)}(o,e),reset:e=>function(e,t){const o=e[t],r=document.body;ne.map((e=>{r.style.removeProperty(e)})),o.rouge_theme&&ke[o.rouge_theme]&&ke[o.rouge_theme].reset()}(o,e)}}const Ee="#c9d1d9",Se="#161b22",xe="#21262d",Ce={"--sidebar-border-color":xe,"--main-text-color":Ee,"--main-table-bg-color":"#0d1117","--main-table-bg-contrast-color":"#262d36","--main-table-pre-bg-color":Se,"--main-table-pre-text-color":"white","--main-table-pre-border":"1px solid rgb(60, 62, 66)","--tt-bg-color":"rgba(240, 246, 252, 0.15)","--tt-text-color":Ee,"--tt-border":"0px","--tt-border-radius":"6px","--sidebar-tt-active-bg-color":"rgba(0, 0, 0, 0)","--main-blockquote-text-color":"#8b949e","--main-blockquote-text-border":"#3b434b","--main-header-border-bottom-color":xe,"--main-image-border-color":xe,"--main-image-border-color-inverted":"#eaecef","--primer-spec-callout-neutral-bg-color":"rgba(22, 27, 34, 0.8)","--primer-spec-callout-neutral-text-color":Ee,"--primer-spec-callout-neutral-border-color":"rgb(48, 54, 61)","--primer-spec-callout-info-bg-color":"rgba(56, 139, 253, 0.15)","--primer-spec-callout-info-text-color":Ee,"--primer-spec-callout-info-border-color":"rgba(56, 139, 253, 0.4)","--primer-spec-callout-info-icon-color":"#58a6ff","--primer-spec-callout-warning-bg-color":"rgba(187, 128, 9, 0.15)","--primer-spec-callout-warning-text-color":Ee,"--primer-spec-callout-warning-border-color":"rgba(187, 128, 9, 0.4)","--primer-spec-callout-warning-icon-color":"#d29922","--primer-spec-callout-danger-bg-color":"rgba(248, 81, 73, 0.15)","--primer-spec-callout-danger-text-color":Ee,"--primer-spec-callout-danger-border-color":"rgba(248, 81, 73, 0.4)","--primer-spec-callout-danger-icon-color":"#f85149","--primer-spec-callout-success-bg-color":"rgba(46, 160, 67, 0.15)","--primer-spec-callout-success-text-color":Ee,"--primer-spec-callout-success-border-color":"rgba(46, 160, 67, 0.4)","--primer-spec-callout-success-icon-color":"#3fb950","--code-block-default-color":Ee,"--code-block-border-color":"rgb(60, 62, 66)","--code-block-header-bg-color":Se,"--code-block-bg-color":"rgb(13, 17, 23)","--code-block-line-number-color":"#484f58","--code-block-highlight-bg-color":"rgba(187, 128, 9, 0.15)","--code-block-highlight-shadow-color":"rgba(187, 128, 9, 0.4)","--code-block-button-color":Ee,"--code-block-button-bg-color":xe,"--code-block-button-border-color":"rgba(240, 246, 252, 0.1)","--code-block-button-shadow":"0 0 transparent","--code-block-button-shadow-inset-color":"0 0 transparent","--code-block-button-hover-bg-color":"rgb(48, 54, 61)","--code-block-button-hover-border-color":"rgb(140, 148, 158)","--tooltip-background-color":"rgb(110, 118, 129)","--tooltip-color":"white","--kbd-border-color":"rgba(110, 118, 129, 0.4)"},Te="#0d1117",Le="#cccccc",Ne="#58a6ff",Ie={light:{rouge_theme:"default"},dark:{"--sidebar-bg-color":Te,"--sidebar-heading-text-color":Le,"--sidebar-heading-link-color":Le,"--sidebar-toc-h1-link-color":Ne,"--sidebar-toc-h1-border-color":"#555","--sidebar-toc-h2-link-color":Ne,"--sidebar-active-toc-section-bg-color":"#e4d93f","--sidebar-active-toc-section-link-color":Te,"--sidebar-active-toc-h1-section-link-color":Te,"--sidebar-active-toc-h2-section-link-color":Te,"--sidebar-toc-section-link-color":Le,"--sidebar-tt-active-text-color":Te,"--sidebar-resize-handle":"#333","--main-heading-text-color":"#e7ebee","--main-heading-link-color":Ne,"--main-link-color":Ne,"--hoverable-link-hover-color":"#9dd2fb","--main-bg-color":Te,...Ce,rouge_theme:"monokai"}},Oe="rgb(69, 98, 115)",Me="rgb(219, 71, 93)",Pe="#61a1a8",De="rgb(218, 128, 131)",Re="white",Be={light:{"--sidebar-bg-color":"rgb(246, 246, 246)","--sidebar-heading-text-color":Oe,"--sidebar-heading-link-color":Me,"--sidebar-toc-h1-link-color":Oe,"--sidebar-toc-h1-border-color":Oe,"--sidebar-toc-h2-link-color":Oe,"--sidebar-active-toc-section-bg-color":Oe,"--sidebar-active-toc-section-link-color":"white","--sidebar-active-toc-h1-section-link-color":"white","--sidebar-active-toc-h2-section-link-color":"white","--sidebar-toc-section-link-color":"rgb(58, 58, 58)","--sidebar-resize-handle":"#ccc","--main-heading-text-color":Oe,"--main-heading-link-color":Me,"--main-link-color":Me,"--tt-border-radius":"3px","--hoverable-link-hover-color":"#731624",rouge_theme:"default"},dark:{"--sidebar-bg-color":"rgb(58, 58, 60)","--sidebar-heading-text-color":Re,"--sidebar-heading-link-color":Re,"--sidebar-toc-h1-link-color":Pe,"--sidebar-toc-h1-border-color":Pe,"--sidebar-toc-h2-link-color":Re,"--sidebar-active-toc-section-bg-color":"rgb(67, 116, 121)","--sidebar-active-toc-section-link-color":Re,"--sidebar-active-toc-h1-section-link-color":Re,"--sidebar-active-toc-h2-section-link-color":Re,"--sidebar-toc-section-link-color":Re,"--sidebar-tt-active-text-color":Re,"--sidebar-resize-handle":"#555","--main-heading-text-color":Pe,"--main-heading-link-color":De,"--main-link-color":De,"--hoverable-link-hover-color":"#fdf6f7","--main-bg-color":"rgb(28, 28, 30)",...Ce,rouge_theme:"monokai"}},Ue="rgb(41, 82, 91)",He="rgb(229, 214, 204)",$e="rgb(114, 202, 195)",je="rgb(233, 114, 110)",Fe="rgb(79, 205, 196)",Ye="rgb(242, 224, 213)",ze="rgb(22, 60, 60)",Ge={light:{"--sidebar-bg-color":Ue,"--sidebar-heading-text-color":$e,"--sidebar-heading-link-color":$e,"--sidebar-toc-h1-link-color":He,"--sidebar-toc-h1-border-color":He,"--sidebar-toc-h2-link-color":"white","--sidebar-resize-handle":"#246161","--sidebar-active-toc-section-bg-color":"rgb(248, 255, 248)","--sidebar-active-toc-section-link-color":Ue,"--sidebar-active-toc-h1-section-link-color":Ue,"--sidebar-active-toc-h2-section-link-color":Ue,"--sidebar-toc-section-link-color":"white","--main-heading-text-color":Ue,"--main-heading-link-color":Ue,"--main-link-color":je,"--tt-border-radius":"3px","--hoverable-link-hover-color":"#a51e19",rouge_theme:"default"},dark:{"--sidebar-bg-color":ze,"--sidebar-heading-link-color":$e,"--sidebar-heading-text-color":$e,"--sidebar-toc-h1-link-color":Ye,"--sidebar-toc-h1-border-color":Ye,"--sidebar-toc-h2-link-color":"white","--sidebar-active-toc-section-bg-color":"rgb(248, 255, 248)","--sidebar-active-toc-section-link-color":ze,"--sidebar-active-toc-h1-section-link-color":ze,"--sidebar-active-toc-h2-section-link-color":ze,"--sidebar-toc-section-link-color":"white","--sidebar-tt-active-text-color":ze,"--sidebar-resize-handle":"#246161","--main-heading-text-color":Fe,"--main-heading-link-color":Fe,"--main-link-color":je,"--hoverable-link-hover-color":"#fdf3f3","--main-bg-color":"rgb(28, 28, 30)",...Ce,rouge_theme:"monokai"}},We="rgb(40, 41, 35)",Ke="white",qe="rgb(58, 58, 58)",Qe="rgb(137, 135, 205)",Ve="#ffae66",Xe="#555",Ze={light:{"--sidebar-bg-color":"rgb(242, 243, 243)","--sidebar-heading-text-color":qe,"--sidebar-heading-link-color":qe,"--sidebar-border-color":Xe,"--sidebar-toc-h1-link-color":qe,"--sidebar-toc-h1-border-color":"rgb(125, 125, 125)","--sidebar-toc-h2-link-color":qe,"--sidebar-active-toc-section-bg-color":"rgb(90, 151, 247)","--sidebar-active-toc-section-link-color":"white","--sidebar-active-toc-h1-section-link-color":"white","--sidebar-active-toc-h2-section-link-color":"white","--sidebar-toc-section-link-color":qe,"--sidebar-resize-handle":Ve,"--main-heading-text-color":Qe,"--main-heading-link-color":Qe,"--main-link-color":Ve,"--hoverable-link-hover-color":"#cc6000","--main-bg-color":We,"--main-text-color":Ke,"--main-table-pre-bg-color":"#f6f8fa","--main-table-pre-text-color":"black","--main-blockquote-text-color":"#ccc","--tt-text-color":"white","--tt-bg-color":"#696969","--tt-border-radius":"3px","--main-header-border-bottom-color":Xe,"--primer-spec-callout-neutral-text-color":"black","--primer-spec-callout-info-text-color":"black","--primer-spec-callout-warning-text-color":"black","--primer-spec-callout-danger-text-color":"black","--primer-spec-callout-success-text-color":"black",rouge_theme:"default"},dark:{...Ce,"--sidebar-bg-color":"rgb(75, 77, 85)","--sidebar-heading-text-color":"white","--sidebar-heading-link-color":"white","--sidebar-border-color":Xe,"--sidebar-toc-h1-link-color":"white","--sidebar-toc-h1-border-color":"rgb(125, 125, 125)","--sidebar-toc-h2-link-color":"white","--sidebar-active-toc-section-bg-color":"rgb(90, 151, 247)","--sidebar-active-toc-section-link-color":"white","--sidebar-active-toc-h1-section-link-color":"white","--sidebar-active-toc-h2-section-link-color":"white","--sidebar-toc-section-link-color":"white","--sidebar-resize-handle":Qe,"--main-heading-text-color":Qe,"--main-heading-link-color":Qe,"--main-link-color":Ve,"--hoverable-link-hover-color":"white","--main-bg-color":We,"--main-text-color":Ke,"--main-table-pre-bg-color":We,"--main-table-pre-text-color":Ke,"--main-table-pre-border":"1px solid rgb(60, 62, 66)","--tt-text-color":"white","--tt-border-radius":"6px","--main-blockquote-text-color":"#999999","--main-header-border-bottom-color":Xe,rouge_theme:"monokai"}},Je={default:ye("default","Primer",Ie),bella:ye("bella","Bella",Be),modern:ye("modern","Modern",Ge),"xcode-civic":ye("xcode-civic","Xcode Civic",Ze)};window.PrimerSpec={...window.PrimerSpec,REGISTERED_SUBTHEMES:Je,registerNewSubtheme:function(e,t,o){Je[e]=ye(e,t,o)}};const et={};window.addEventListener("storage",(e=>{if(!e.key)return;const t=et[e.key];t&&t.forEach((t=>t(e.newValue,e.oldValue)))}));const tt=function(e){let t;try{t=window.localStorage;const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),!0}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&t&&0!==t.length}}(),ot={get:e=>tt?window.localStorage.getItem(e):null,set(e,t){tt&&window.localStorage.setItem(e,t)},getForPage(e){return this.get(rt(e))},setForPage(e,t){return this.set(rt(e),t.toString())},addListener(e,t){et[e]||(et[e]=[]),et[e].push(t)},removeListener(e,t){const o=et[e];o&&(et[e]=o.filter((e=>e!==t)))},addListenerForPage(e,t){this.addListener(rt(e),t)},removeListenerForPage(e,t){this.removeListener(rt(e),t)}};function rt(e){return`${document.location.pathname}__${e}`}var nt;!function(e){e.ENHANCED="enhanced",e.NO_LINE_NUMBERS="no-line-numbers",e.LEGACY="legacy"}(nt||(nt={}));const it="primer-spec-code-block-line-code",lt="primer-spec-code-block-processed",ct="primer-spec-code-block-title",at="console",st="spec_subtheme_name",dt="spec_subtheme_mode",ut=ot.get(st)||window.PrimerSpecConfig.defaultSubthemeName||"default",ht=ot.get(dt)||window.PrimerSpecConfig.defaultSubthemeMode||"system",pt=!!window.PrimerSpecConfig.sitemapEnabled,mt={VERSION_RAW:"1.9.3",VERSION_MINOR_STR:"v1.9",BUILD_MODE:"production",PDF_PATH:window.PrimerSpecConfig.pdfPath||null,SITE_QUALIFIED_BASE_URL:window.PrimerSpecConfig.siteQualifiedBaseUrl||"/",HIDE_SIDEBAR_ON_LOAD:function(){const e=ot.getForPage("sidebar_hidden");let t=!1;return null!==e?t="true"===e:(t=window.PrimerSpecConfig.hideSidebarOnLoad||window.PrimerSpecConfig.disableSidebar||!1,ot.setForPage("sidebar_hidden",t.toString())),t}(),DISABLE_SIDEBAR:window.PrimerSpecConfig.disableSidebar||!1,INIT_SUBTHEME_NAME:ut,INIT_SUBTHEME_MODE:ht,INIT_SITEMAP_ENABLED:pt,SITEMAP_URLS:window.PrimerSpecConfig.sitemapUrls||[],SITEMAP_LABEL:null===window.PrimerSpecConfig.sitemapLabel?null:window.PrimerSpecConfig.sitemapLabel||"Supplemental Pages",SITEMAP_SITE_TITLE:window.PrimerSpecConfig.sitemapSiteTitle||"",DEFAULT_CODEBLOCK_VARIANT:function(){if(!0===window.PrimerSpecConfig.useLegacyCodeBlocks)return nt.LEGACY;const e=window.PrimerSpecConfig.defaultCodeblockVariant?.toLowerCase();return e&&Object.values(nt).includes(e)?e:nt.ENHANCED}(),USE_LEGACY_CODE_BLOCKS_DEPRECATED_DO_NOT_USE:window.PrimerSpecConfig.useLegacyCodeBlocks||!1,PRIMER_SPEC_APP_NODE_ID:"primer-spec-app-container",PRIMER_SPEC_CONTENT_PLUGIN_NODE_ID:"primer-spec-plugin-main-content",PRIMER_SPEC_CONTENT_PREACT_NODE_ID:"primer-spec-preact-main-content",SUBTHEME_NAME_STORAGE_KEY:st,SUBTHEME_MODE_STORAGE_KEY:dt,DEFAULT_ACTIVE_SECTION_OFFSET_Y:10};function ft({name:e,mode:t}={},o=!0){const{name:r,mode:n}={name:gt(),mode:bt()},i=_t(e??r),l=wt(t??n),c=At(l);if(o&&function({name:e,mode:t}){ot.set(mt.SUBTHEME_NAME_STORAGE_KEY,e),ot.set(mt.SUBTHEME_MODE_STORAGE_KEY,t)}({name:i,mode:l}),i===r&&c===n&&o)return;const a=Je[r],s=Je[i];a.reset(At(n)),s.apply(c)}function gt(){return _t(ot.get(mt.SUBTHEME_NAME_STORAGE_KEY)??mt.INIT_SUBTHEME_NAME)}function bt(){return wt(ot.get(mt.SUBTHEME_MODE_STORAGE_KEY)??mt.INIT_SUBTHEME_MODE)}function At(e){return"system"!==e?e:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function _t(e){return e&&Je[e]?e:(console.warn(`Primer Spec: Invalid subtheme name: ${e}. Reverting to 'default'`),Je.default.name)}function wt(e){switch(e){case"light":case"dark":case"system":return e}return console.warn(`Primer Spec: Invalid subtheme mode: ${e}. Reverting to 'system'`),"system"}function vt(){const[e,t]=W(!1);return kt(X((()=>t(!0)),[])),yt(X((()=>t(!1)),[])),e}function kt(e){K((()=>{let t;return window.matchMedia&&(t=t=>{t.matches&&e()},window.matchMedia("print").addListener(t)),window.addEventListener("beforeprint",e),()=>{window.matchMedia&&window.matchMedia("print").removeListener(t),window.removeEventListener("beforeprint",e)}}),[e])}function yt(e){K((()=>{let t;return window.matchMedia&&(t=t=>{t.matches||e()},window.matchMedia("print").addListener(t)),window.addEventListener("afterprint",e),()=>{window.matchMedia&&window.matchMedia("print").removeListener(t),window.removeEventListener("afterprint",e)}}),[e])}function Et(){return document.documentElement.clientWidth<900}function St(e){var t,o,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t{const t=document.createElement("label");t.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(t)}));const t=[...e.current.querySelectorAll('.task-list-item input.task-list-item-checkbox[type="checkbox"]')];let o=!1;var r;t.length!==function(){const e=ot.getForPage(Ct)||"";return parseInt(e,10)||0}()&&(o=!0,r=t.length,ot.setForPage(Ct,`${r}`));let n=!0;const i=()=>{n=!1};ot.addListenerForPage(Ct,i);const l=[],c=[];return t.forEach(((e,t)=>{e.disabled=!1,o?Nt(t,e.checked):e.checked=Lt(t);const r=()=>{n&&Nt(t,e.checked)};l.push(r),e.addEventListener("change",r);const i=()=>{n&&(e.checked=Lt(t))};var a,s;c.push(i),a=t,s=i,ot.addListenerForPage(`primer_spec_task_list_${a}`,s)})),()=>{t.forEach(((e,t)=>{var o,r;e.removeEventListener("change",l[t]),o=t,r=c[t],ot.removeListenerForPage(`primer_spec_task_list_${o}`,r)})),ot.removeListenerForPage(Ct,i)}}function Lt(e){return"true"===ot.getForPage(`primer_spec_task_list_${e}`)}function Nt(e,t){ot.setForPage(`primer_spec_task_list_${e}`,`${t}`)}var It=r(916);function Ot(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var Mt=r(772);const Pt=[["ß","ss"],["ẞ","Ss"],["ä","ae"],["Ä","Ae"],["ö","oe"],["Ö","Oe"],["ü","ue"],["Ü","Ue"],["À","A"],["Á","A"],["Â","A"],["Ã","A"],["Ä","Ae"],["Å","A"],["Æ","AE"],["Ç","C"],["È","E"],["É","E"],["Ê","E"],["Ë","E"],["Ì","I"],["Í","I"],["Î","I"],["Ï","I"],["Ð","D"],["Ñ","N"],["Ò","O"],["Ó","O"],["Ô","O"],["Õ","O"],["Ö","Oe"],["Ő","O"],["Ø","O"],["Ù","U"],["Ú","U"],["Û","U"],["Ü","Ue"],["Ű","U"],["Ý","Y"],["Þ","TH"],["ß","ss"],["à","a"],["á","a"],["â","a"],["ã","a"],["ä","ae"],["å","a"],["æ","ae"],["ç","c"],["è","e"],["é","e"],["ê","e"],["ë","e"],["ì","i"],["í","i"],["î","i"],["ï","i"],["ð","d"],["ñ","n"],["ò","o"],["ó","o"],["ô","o"],["õ","o"],["ö","oe"],["ő","o"],["ø","o"],["ù","u"],["ú","u"],["û","u"],["ü","ue"],["ű","u"],["ý","y"],["þ","th"],["ÿ","y"],["ẞ","SS"],["à","a"],["À","A"],["á","a"],["Á","A"],["â","a"],["Â","A"],["ã","a"],["Ã","A"],["è","e"],["È","E"],["é","e"],["É","E"],["ê","e"],["Ê","E"],["ì","i"],["Ì","I"],["í","i"],["Í","I"],["ò","o"],["Ò","O"],["ó","o"],["Ó","O"],["ô","o"],["Ô","O"],["õ","o"],["Õ","O"],["ù","u"],["Ù","U"],["ú","u"],["Ú","U"],["ý","y"],["Ý","Y"],["ă","a"],["Ă","A"],["Đ","D"],["đ","d"],["ĩ","i"],["Ĩ","I"],["ũ","u"],["Ũ","U"],["ơ","o"],["Ơ","O"],["ư","u"],["Ư","U"],["ạ","a"],["Ạ","A"],["ả","a"],["Ả","A"],["ấ","a"],["Ấ","A"],["ầ","a"],["Ầ","A"],["ẩ","a"],["Ẩ","A"],["ẫ","a"],["Ẫ","A"],["ậ","a"],["Ậ","A"],["ắ","a"],["Ắ","A"],["ằ","a"],["Ằ","A"],["ẳ","a"],["Ẳ","A"],["ẵ","a"],["Ẵ","A"],["ặ","a"],["Ặ","A"],["ẹ","e"],["Ẹ","E"],["ẻ","e"],["Ẻ","E"],["ẽ","e"],["Ẽ","E"],["ế","e"],["Ế","E"],["ề","e"],["Ề","E"],["ể","e"],["Ể","E"],["ễ","e"],["Ễ","E"],["ệ","e"],["Ệ","E"],["ỉ","i"],["Ỉ","I"],["ị","i"],["Ị","I"],["ọ","o"],["Ọ","O"],["ỏ","o"],["Ỏ","O"],["ố","o"],["Ố","O"],["ồ","o"],["Ồ","O"],["ổ","o"],["Ổ","O"],["ỗ","o"],["Ỗ","O"],["ộ","o"],["Ộ","O"],["ớ","o"],["Ớ","O"],["ờ","o"],["Ờ","O"],["ở","o"],["Ở","O"],["ỡ","o"],["Ỡ","O"],["ợ","o"],["Ợ","O"],["ụ","u"],["Ụ","U"],["ủ","u"],["Ủ","U"],["ứ","u"],["Ứ","U"],["ừ","u"],["Ừ","U"],["ử","u"],["Ử","U"],["ữ","u"],["Ữ","U"],["ự","u"],["Ự","U"],["ỳ","y"],["Ỳ","Y"],["ỵ","y"],["Ỵ","Y"],["ỷ","y"],["Ỷ","Y"],["ỹ","y"],["Ỹ","Y"],["ء","e"],["آ","a"],["أ","a"],["ؤ","w"],["إ","i"],["ئ","y"],["ا","a"],["ب","b"],["ة","t"],["ت","t"],["ث","th"],["ج","j"],["ح","h"],["خ","kh"],["د","d"],["ذ","dh"],["ر","r"],["ز","z"],["س","s"],["ش","sh"],["ص","s"],["ض","d"],["ط","t"],["ظ","z"],["ع","e"],["غ","gh"],["ـ","_"],["ف","f"],["ق","q"],["ك","k"],["ل","l"],["م","m"],["ن","n"],["ه","h"],["و","w"],["ى","a"],["ي","y"],["َ‎","a"],["ُ","u"],["ِ‎","i"],["٠","0"],["١","1"],["٢","2"],["٣","3"],["٤","4"],["٥","5"],["٦","6"],["٧","7"],["٨","8"],["٩","9"],["چ","ch"],["ک","k"],["گ","g"],["پ","p"],["ژ","zh"],["ی","y"],["۰","0"],["۱","1"],["۲","2"],["۳","3"],["۴","4"],["۵","5"],["۶","6"],["۷","7"],["۸","8"],["۹","9"],["ټ","p"],["ځ","z"],["څ","c"],["ډ","d"],["ﺫ","d"],["ﺭ","r"],["ړ","r"],["ﺯ","z"],["ږ","g"],["ښ","x"],["ګ","g"],["ڼ","n"],["ۀ","e"],["ې","e"],["ۍ","ai"],["ٹ","t"],["ڈ","d"],["ڑ","r"],["ں","n"],["ہ","h"],["ھ","h"],["ے","e"],["А","A"],["а","a"],["Б","B"],["б","b"],["В","V"],["в","v"],["Г","G"],["г","g"],["Д","D"],["д","d"],["ъе","ye"],["Ъе","Ye"],["ъЕ","yE"],["ЪЕ","YE"],["Е","E"],["е","e"],["Ё","Yo"],["ё","yo"],["Ж","Zh"],["ж","zh"],["З","Z"],["з","z"],["И","I"],["и","i"],["ый","iy"],["Ый","Iy"],["ЫЙ","IY"],["ыЙ","iY"],["Й","Y"],["й","y"],["К","K"],["к","k"],["Л","L"],["л","l"],["М","M"],["м","m"],["Н","N"],["н","n"],["О","O"],["о","o"],["П","P"],["п","p"],["Р","R"],["р","r"],["С","S"],["с","s"],["Т","T"],["т","t"],["У","U"],["у","u"],["Ф","F"],["ф","f"],["Х","Kh"],["х","kh"],["Ц","Ts"],["ц","ts"],["Ч","Ch"],["ч","ch"],["Ш","Sh"],["ш","sh"],["Щ","Sch"],["щ","sch"],["Ъ",""],["ъ",""],["Ы","Y"],["ы","y"],["Ь",""],["ь",""],["Э","E"],["э","e"],["Ю","Yu"],["ю","yu"],["Я","Ya"],["я","ya"],["ă","a"],["Ă","A"],["ș","s"],["Ș","S"],["ț","t"],["Ț","T"],["ţ","t"],["Ţ","T"],["ş","s"],["Ş","S"],["ç","c"],["Ç","C"],["ğ","g"],["Ğ","G"],["ı","i"],["İ","I"],["ա","a"],["Ա","A"],["բ","b"],["Բ","B"],["գ","g"],["Գ","G"],["դ","d"],["Դ","D"],["ե","ye"],["Ե","Ye"],["զ","z"],["Զ","Z"],["է","e"],["Է","E"],["ը","y"],["Ը","Y"],["թ","t"],["Թ","T"],["ժ","zh"],["Ժ","Zh"],["ի","i"],["Ի","I"],["լ","l"],["Լ","L"],["խ","kh"],["Խ","Kh"],["ծ","ts"],["Ծ","Ts"],["կ","k"],["Կ","K"],["հ","h"],["Հ","H"],["ձ","dz"],["Ձ","Dz"],["ղ","gh"],["Ղ","Gh"],["ճ","tch"],["Ճ","Tch"],["մ","m"],["Մ","M"],["յ","y"],["Յ","Y"],["ն","n"],["Ն","N"],["շ","sh"],["Շ","Sh"],["ո","vo"],["Ո","Vo"],["չ","ch"],["Չ","Ch"],["պ","p"],["Պ","P"],["ջ","j"],["Ջ","J"],["ռ","r"],["Ռ","R"],["ս","s"],["Ս","S"],["վ","v"],["Վ","V"],["տ","t"],["Տ","T"],["ր","r"],["Ր","R"],["ց","c"],["Ց","C"],["ու","u"],["ՈՒ","U"],["Ու","U"],["փ","p"],["Փ","P"],["ք","q"],["Ք","Q"],["օ","o"],["Օ","O"],["ֆ","f"],["Ֆ","F"],["և","yev"],["ა","a"],["ბ","b"],["გ","g"],["დ","d"],["ე","e"],["ვ","v"],["ზ","z"],["თ","t"],["ი","i"],["კ","k"],["ლ","l"],["მ","m"],["ნ","n"],["ო","o"],["პ","p"],["ჟ","zh"],["რ","r"],["ს","s"],["ტ","t"],["უ","u"],["ფ","ph"],["ქ","q"],["ღ","gh"],["ყ","k"],["შ","sh"],["ჩ","ch"],["ც","ts"],["ძ","dz"],["წ","ts"],["ჭ","tch"],["ხ","kh"],["ჯ","j"],["ჰ","h"],["č","c"],["ď","d"],["ě","e"],["ň","n"],["ř","r"],["š","s"],["ť","t"],["ů","u"],["ž","z"],["Č","C"],["Ď","D"],["Ě","E"],["Ň","N"],["Ř","R"],["Š","S"],["Ť","T"],["Ů","U"],["Ž","Z"],["ހ","h"],["ށ","sh"],["ނ","n"],["ރ","r"],["ބ","b"],["ޅ","lh"],["ކ","k"],["އ","a"],["ވ","v"],["މ","m"],["ފ","f"],["ދ","dh"],["ތ","th"],["ލ","l"],["ގ","g"],["ޏ","gn"],["ސ","s"],["ޑ","d"],["ޒ","z"],["ޓ","t"],["ޔ","y"],["ޕ","p"],["ޖ","j"],["ޗ","ch"],["ޘ","tt"],["ޙ","hh"],["ޚ","kh"],["ޛ","th"],["ޜ","z"],["ޝ","sh"],["ޞ","s"],["ޟ","d"],["ޠ","t"],["ޡ","z"],["ޢ","a"],["ޣ","gh"],["ޤ","q"],["ޥ","w"],["ަ","a"],["ާ","aa"],["ި","i"],["ީ","ee"],["ު","u"],["ޫ","oo"],["ެ","e"],["ޭ","ey"],["ޮ","o"],["ޯ","oa"],["ް",""],["α","a"],["β","v"],["γ","g"],["δ","d"],["ε","e"],["ζ","z"],["η","i"],["θ","th"],["ι","i"],["κ","k"],["λ","l"],["μ","m"],["ν","n"],["ξ","ks"],["ο","o"],["π","p"],["ρ","r"],["σ","s"],["τ","t"],["υ","y"],["φ","f"],["χ","x"],["ψ","ps"],["ω","o"],["ά","a"],["έ","e"],["ί","i"],["ό","o"],["ύ","y"],["ή","i"],["ώ","o"],["ς","s"],["ϊ","i"],["ΰ","y"],["ϋ","y"],["ΐ","i"],["Α","A"],["Β","B"],["Γ","G"],["Δ","D"],["Ε","E"],["Ζ","Z"],["Η","I"],["Θ","TH"],["Ι","I"],["Κ","K"],["Λ","L"],["Μ","M"],["Ν","N"],["Ξ","KS"],["Ο","O"],["Π","P"],["Ρ","R"],["Σ","S"],["Τ","T"],["Υ","Y"],["Φ","F"],["Χ","X"],["Ψ","PS"],["Ω","O"],["Ά","A"],["Έ","E"],["Ί","I"],["Ό","O"],["Ύ","Y"],["Ή","I"],["Ώ","O"],["Ϊ","I"],["Ϋ","Y"],["ā","a"],["ē","e"],["ģ","g"],["ī","i"],["ķ","k"],["ļ","l"],["ņ","n"],["ū","u"],["Ā","A"],["Ē","E"],["Ģ","G"],["Ī","I"],["Ķ","K"],["Ļ","L"],["Ņ","N"],["Ū","U"],["č","c"],["š","s"],["ž","z"],["Č","C"],["Š","S"],["Ž","Z"],["ą","a"],["č","c"],["ę","e"],["ė","e"],["į","i"],["š","s"],["ų","u"],["ū","u"],["ž","z"],["Ą","A"],["Č","C"],["Ę","E"],["Ė","E"],["Į","I"],["Š","S"],["Ų","U"],["Ū","U"],["Ќ","Kj"],["ќ","kj"],["Љ","Lj"],["љ","lj"],["Њ","Nj"],["њ","nj"],["Тс","Ts"],["тс","ts"],["ą","a"],["ć","c"],["ę","e"],["ł","l"],["ń","n"],["ś","s"],["ź","z"],["ż","z"],["Ą","A"],["Ć","C"],["Ę","E"],["Ł","L"],["Ń","N"],["Ś","S"],["Ź","Z"],["Ż","Z"],["Є","Ye"],["І","I"],["Ї","Yi"],["Ґ","G"],["є","ye"],["і","i"],["ї","yi"],["ґ","g"],["IJ","IJ"],["ij","ij"],["¢","c"],["¥","Y"],["߿","b"],["৳","t"],["૱","Bo"],["฿","B"],["₠","CE"],["₡","C"],["₢","Cr"],["₣","F"],["₥","m"],["₦","N"],["₧","Pt"],["₨","Rs"],["₩","W"],["₫","s"],["€","E"],["₭","K"],["₮","T"],["₯","Dp"],["₰","S"],["₱","P"],["₲","G"],["₳","A"],["₴","S"],["₵","C"],["₶","tt"],["₷","S"],["₸","T"],["₹","R"],["₺","L"],["₽","P"],["₿","B"],["﹩","$"],["¢","c"],["¥","Y"],["₩","W"],["𝐀","A"],["𝐁","B"],["𝐂","C"],["𝐃","D"],["𝐄","E"],["𝐅","F"],["𝐆","G"],["𝐇","H"],["𝐈","I"],["𝐉","J"],["𝐊","K"],["𝐋","L"],["𝐌","M"],["𝐍","N"],["𝐎","O"],["𝐏","P"],["𝐐","Q"],["𝐑","R"],["𝐒","S"],["𝐓","T"],["𝐔","U"],["𝐕","V"],["𝐖","W"],["𝐗","X"],["𝐘","Y"],["𝐙","Z"],["𝐚","a"],["𝐛","b"],["𝐜","c"],["𝐝","d"],["𝐞","e"],["𝐟","f"],["𝐠","g"],["𝐡","h"],["𝐢","i"],["𝐣","j"],["𝐤","k"],["𝐥","l"],["𝐦","m"],["𝐧","n"],["𝐨","o"],["𝐩","p"],["𝐪","q"],["𝐫","r"],["𝐬","s"],["𝐭","t"],["𝐮","u"],["𝐯","v"],["𝐰","w"],["𝐱","x"],["𝐲","y"],["𝐳","z"],["𝐴","A"],["𝐵","B"],["𝐶","C"],["𝐷","D"],["𝐸","E"],["𝐹","F"],["𝐺","G"],["𝐻","H"],["𝐼","I"],["𝐽","J"],["𝐾","K"],["𝐿","L"],["𝑀","M"],["𝑁","N"],["𝑂","O"],["𝑃","P"],["𝑄","Q"],["𝑅","R"],["𝑆","S"],["𝑇","T"],["𝑈","U"],["𝑉","V"],["𝑊","W"],["𝑋","X"],["𝑌","Y"],["𝑍","Z"],["𝑎","a"],["𝑏","b"],["𝑐","c"],["𝑑","d"],["𝑒","e"],["𝑓","f"],["𝑔","g"],["𝑖","i"],["𝑗","j"],["𝑘","k"],["𝑙","l"],["𝑚","m"],["𝑛","n"],["𝑜","o"],["𝑝","p"],["𝑞","q"],["𝑟","r"],["𝑠","s"],["𝑡","t"],["𝑢","u"],["𝑣","v"],["𝑤","w"],["𝑥","x"],["𝑦","y"],["𝑧","z"],["𝑨","A"],["𝑩","B"],["𝑪","C"],["𝑫","D"],["𝑬","E"],["𝑭","F"],["𝑮","G"],["𝑯","H"],["𝑰","I"],["𝑱","J"],["𝑲","K"],["𝑳","L"],["𝑴","M"],["𝑵","N"],["𝑶","O"],["𝑷","P"],["𝑸","Q"],["𝑹","R"],["𝑺","S"],["𝑻","T"],["𝑼","U"],["𝑽","V"],["𝑾","W"],["𝑿","X"],["𝒀","Y"],["𝒁","Z"],["𝒂","a"],["𝒃","b"],["𝒄","c"],["𝒅","d"],["𝒆","e"],["𝒇","f"],["𝒈","g"],["𝒉","h"],["𝒊","i"],["𝒋","j"],["𝒌","k"],["𝒍","l"],["𝒎","m"],["𝒏","n"],["𝒐","o"],["𝒑","p"],["𝒒","q"],["𝒓","r"],["𝒔","s"],["𝒕","t"],["𝒖","u"],["𝒗","v"],["𝒘","w"],["𝒙","x"],["𝒚","y"],["𝒛","z"],["𝒜","A"],["𝒞","C"],["𝒟","D"],["𝒢","g"],["𝒥","J"],["𝒦","K"],["𝒩","N"],["𝒪","O"],["𝒫","P"],["𝒬","Q"],["𝒮","S"],["𝒯","T"],["𝒰","U"],["𝒱","V"],["𝒲","W"],["𝒳","X"],["𝒴","Y"],["𝒵","Z"],["𝒶","a"],["𝒷","b"],["𝒸","c"],["𝒹","d"],["𝒻","f"],["𝒽","h"],["𝒾","i"],["𝒿","j"],["𝓀","h"],["𝓁","l"],["𝓂","m"],["𝓃","n"],["𝓅","p"],["𝓆","q"],["𝓇","r"],["𝓈","s"],["𝓉","t"],["𝓊","u"],["𝓋","v"],["𝓌","w"],["𝓍","x"],["𝓎","y"],["𝓏","z"],["𝓐","A"],["𝓑","B"],["𝓒","C"],["𝓓","D"],["𝓔","E"],["𝓕","F"],["𝓖","G"],["𝓗","H"],["𝓘","I"],["𝓙","J"],["𝓚","K"],["𝓛","L"],["𝓜","M"],["𝓝","N"],["𝓞","O"],["𝓟","P"],["𝓠","Q"],["𝓡","R"],["𝓢","S"],["𝓣","T"],["𝓤","U"],["𝓥","V"],["𝓦","W"],["𝓧","X"],["𝓨","Y"],["𝓩","Z"],["𝓪","a"],["𝓫","b"],["𝓬","c"],["𝓭","d"],["𝓮","e"],["𝓯","f"],["𝓰","g"],["𝓱","h"],["𝓲","i"],["𝓳","j"],["𝓴","k"],["𝓵","l"],["𝓶","m"],["𝓷","n"],["𝓸","o"],["𝓹","p"],["𝓺","q"],["𝓻","r"],["𝓼","s"],["𝓽","t"],["𝓾","u"],["𝓿","v"],["𝔀","w"],["𝔁","x"],["𝔂","y"],["𝔃","z"],["𝔄","A"],["𝔅","B"],["𝔇","D"],["𝔈","E"],["𝔉","F"],["𝔊","G"],["𝔍","J"],["𝔎","K"],["𝔏","L"],["𝔐","M"],["𝔑","N"],["𝔒","O"],["𝔓","P"],["𝔔","Q"],["𝔖","S"],["𝔗","T"],["𝔘","U"],["𝔙","V"],["𝔚","W"],["𝔛","X"],["𝔜","Y"],["𝔞","a"],["𝔟","b"],["𝔠","c"],["𝔡","d"],["𝔢","e"],["𝔣","f"],["𝔤","g"],["𝔥","h"],["𝔦","i"],["𝔧","j"],["𝔨","k"],["𝔩","l"],["𝔪","m"],["𝔫","n"],["𝔬","o"],["𝔭","p"],["𝔮","q"],["𝔯","r"],["𝔰","s"],["𝔱","t"],["𝔲","u"],["𝔳","v"],["𝔴","w"],["𝔵","x"],["𝔶","y"],["𝔷","z"],["𝔸","A"],["𝔹","B"],["𝔻","D"],["𝔼","E"],["𝔽","F"],["𝔾","G"],["𝕀","I"],["𝕁","J"],["𝕂","K"],["𝕃","L"],["𝕄","M"],["𝕆","N"],["𝕊","S"],["𝕋","T"],["𝕌","U"],["𝕍","V"],["𝕎","W"],["𝕏","X"],["𝕐","Y"],["𝕒","a"],["𝕓","b"],["𝕔","c"],["𝕕","d"],["𝕖","e"],["𝕗","f"],["𝕘","g"],["𝕙","h"],["𝕚","i"],["𝕛","j"],["𝕜","k"],["𝕝","l"],["𝕞","m"],["𝕟","n"],["𝕠","o"],["𝕡","p"],["𝕢","q"],["𝕣","r"],["𝕤","s"],["𝕥","t"],["𝕦","u"],["𝕧","v"],["𝕨","w"],["𝕩","x"],["𝕪","y"],["𝕫","z"],["𝕬","A"],["𝕭","B"],["𝕮","C"],["𝕯","D"],["𝕰","E"],["𝕱","F"],["𝕲","G"],["𝕳","H"],["𝕴","I"],["𝕵","J"],["𝕶","K"],["𝕷","L"],["𝕸","M"],["𝕹","N"],["𝕺","O"],["𝕻","P"],["𝕼","Q"],["𝕽","R"],["𝕾","S"],["𝕿","T"],["𝖀","U"],["𝖁","V"],["𝖂","W"],["𝖃","X"],["𝖄","Y"],["𝖅","Z"],["𝖆","a"],["𝖇","b"],["𝖈","c"],["𝖉","d"],["𝖊","e"],["𝖋","f"],["𝖌","g"],["𝖍","h"],["𝖎","i"],["𝖏","j"],["𝖐","k"],["𝖑","l"],["𝖒","m"],["𝖓","n"],["𝖔","o"],["𝖕","p"],["𝖖","q"],["𝖗","r"],["𝖘","s"],["𝖙","t"],["𝖚","u"],["𝖛","v"],["𝖜","w"],["𝖝","x"],["𝖞","y"],["𝖟","z"],["𝖠","A"],["𝖡","B"],["𝖢","C"],["𝖣","D"],["𝖤","E"],["𝖥","F"],["𝖦","G"],["𝖧","H"],["𝖨","I"],["𝖩","J"],["𝖪","K"],["𝖫","L"],["𝖬","M"],["𝖭","N"],["𝖮","O"],["𝖯","P"],["𝖰","Q"],["𝖱","R"],["𝖲","S"],["𝖳","T"],["𝖴","U"],["𝖵","V"],["𝖶","W"],["𝖷","X"],["𝖸","Y"],["𝖹","Z"],["𝖺","a"],["𝖻","b"],["𝖼","c"],["𝖽","d"],["𝖾","e"],["𝖿","f"],["𝗀","g"],["𝗁","h"],["𝗂","i"],["𝗃","j"],["𝗄","k"],["𝗅","l"],["𝗆","m"],["𝗇","n"],["𝗈","o"],["𝗉","p"],["𝗊","q"],["𝗋","r"],["𝗌","s"],["𝗍","t"],["𝗎","u"],["𝗏","v"],["𝗐","w"],["𝗑","x"],["𝗒","y"],["𝗓","z"],["𝗔","A"],["𝗕","B"],["𝗖","C"],["𝗗","D"],["𝗘","E"],["𝗙","F"],["𝗚","G"],["𝗛","H"],["𝗜","I"],["𝗝","J"],["𝗞","K"],["𝗟","L"],["𝗠","M"],["𝗡","N"],["𝗢","O"],["𝗣","P"],["𝗤","Q"],["𝗥","R"],["𝗦","S"],["𝗧","T"],["𝗨","U"],["𝗩","V"],["𝗪","W"],["𝗫","X"],["𝗬","Y"],["𝗭","Z"],["𝗮","a"],["𝗯","b"],["𝗰","c"],["𝗱","d"],["𝗲","e"],["𝗳","f"],["𝗴","g"],["𝗵","h"],["𝗶","i"],["𝗷","j"],["𝗸","k"],["𝗹","l"],["𝗺","m"],["𝗻","n"],["𝗼","o"],["𝗽","p"],["𝗾","q"],["𝗿","r"],["𝘀","s"],["𝘁","t"],["𝘂","u"],["𝘃","v"],["𝘄","w"],["𝘅","x"],["𝘆","y"],["𝘇","z"],["𝘈","A"],["𝘉","B"],["𝘊","C"],["𝘋","D"],["𝘌","E"],["𝘍","F"],["𝘎","G"],["𝘏","H"],["𝘐","I"],["𝘑","J"],["𝘒","K"],["𝘓","L"],["𝘔","M"],["𝘕","N"],["𝘖","O"],["𝘗","P"],["𝘘","Q"],["𝘙","R"],["𝘚","S"],["𝘛","T"],["𝘜","U"],["𝘝","V"],["𝘞","W"],["𝘟","X"],["𝘠","Y"],["𝘡","Z"],["𝘢","a"],["𝘣","b"],["𝘤","c"],["𝘥","d"],["𝘦","e"],["𝘧","f"],["𝘨","g"],["𝘩","h"],["𝘪","i"],["𝘫","j"],["𝘬","k"],["𝘭","l"],["𝘮","m"],["𝘯","n"],["𝘰","o"],["𝘱","p"],["𝘲","q"],["𝘳","r"],["𝘴","s"],["𝘵","t"],["𝘶","u"],["𝘷","v"],["𝘸","w"],["𝘹","x"],["𝘺","y"],["𝘻","z"],["𝘼","A"],["𝘽","B"],["𝘾","C"],["𝘿","D"],["𝙀","E"],["𝙁","F"],["𝙂","G"],["𝙃","H"],["𝙄","I"],["𝙅","J"],["𝙆","K"],["𝙇","L"],["𝙈","M"],["𝙉","N"],["𝙊","O"],["𝙋","P"],["𝙌","Q"],["𝙍","R"],["𝙎","S"],["𝙏","T"],["𝙐","U"],["𝙑","V"],["𝙒","W"],["𝙓","X"],["𝙔","Y"],["𝙕","Z"],["𝙖","a"],["𝙗","b"],["𝙘","c"],["𝙙","d"],["𝙚","e"],["𝙛","f"],["𝙜","g"],["𝙝","h"],["𝙞","i"],["𝙟","j"],["𝙠","k"],["𝙡","l"],["𝙢","m"],["𝙣","n"],["𝙤","o"],["𝙥","p"],["𝙦","q"],["𝙧","r"],["𝙨","s"],["𝙩","t"],["𝙪","u"],["𝙫","v"],["𝙬","w"],["𝙭","x"],["𝙮","y"],["𝙯","z"],["𝙰","A"],["𝙱","B"],["𝙲","C"],["𝙳","D"],["𝙴","E"],["𝙵","F"],["𝙶","G"],["𝙷","H"],["𝙸","I"],["𝙹","J"],["𝙺","K"],["𝙻","L"],["𝙼","M"],["𝙽","N"],["𝙾","O"],["𝙿","P"],["𝚀","Q"],["𝚁","R"],["𝚂","S"],["𝚃","T"],["𝚄","U"],["𝚅","V"],["𝚆","W"],["𝚇","X"],["𝚈","Y"],["𝚉","Z"],["𝚊","a"],["𝚋","b"],["𝚌","c"],["𝚍","d"],["𝚎","e"],["𝚏","f"],["𝚐","g"],["𝚑","h"],["𝚒","i"],["𝚓","j"],["𝚔","k"],["𝚕","l"],["𝚖","m"],["𝚗","n"],["𝚘","o"],["𝚙","p"],["𝚚","q"],["𝚛","r"],["𝚜","s"],["𝚝","t"],["𝚞","u"],["𝚟","v"],["𝚠","w"],["𝚡","x"],["𝚢","y"],["𝚣","z"],["𝚤","l"],["𝚥","j"],["𝛢","A"],["𝛣","B"],["𝛤","G"],["𝛥","D"],["𝛦","E"],["𝛧","Z"],["𝛨","I"],["𝛩","TH"],["𝛪","I"],["𝛫","K"],["𝛬","L"],["𝛭","M"],["𝛮","N"],["𝛯","KS"],["𝛰","O"],["𝛱","P"],["𝛲","R"],["𝛳","TH"],["𝛴","S"],["𝛵","T"],["𝛶","Y"],["𝛷","F"],["𝛸","x"],["𝛹","PS"],["𝛺","O"],["𝛻","D"],["𝛼","a"],["𝛽","b"],["𝛾","g"],["𝛿","d"],["𝜀","e"],["𝜁","z"],["𝜂","i"],["𝜃","th"],["𝜄","i"],["𝜅","k"],["𝜆","l"],["𝜇","m"],["𝜈","n"],["𝜉","ks"],["𝜊","o"],["𝜋","p"],["𝜌","r"],["𝜍","s"],["𝜎","s"],["𝜏","t"],["𝜐","y"],["𝜑","f"],["𝜒","x"],["𝜓","ps"],["𝜔","o"],["𝜕","d"],["𝜖","E"],["𝜗","TH"],["𝜘","K"],["𝜙","f"],["𝜚","r"],["𝜛","p"],["𝜜","A"],["𝜝","V"],["𝜞","G"],["𝜟","D"],["𝜠","E"],["𝜡","Z"],["𝜢","I"],["𝜣","TH"],["𝜤","I"],["𝜥","K"],["𝜦","L"],["𝜧","M"],["𝜨","N"],["𝜩","KS"],["𝜪","O"],["𝜫","P"],["𝜬","S"],["𝜭","TH"],["𝜮","S"],["𝜯","T"],["𝜰","Y"],["𝜱","F"],["𝜲","X"],["𝜳","PS"],["𝜴","O"],["𝜵","D"],["𝜶","a"],["𝜷","v"],["𝜸","g"],["𝜹","d"],["𝜺","e"],["𝜻","z"],["𝜼","i"],["𝜽","th"],["𝜾","i"],["𝜿","k"],["𝝀","l"],["𝝁","m"],["𝝂","n"],["𝝃","ks"],["𝝄","o"],["𝝅","p"],["𝝆","r"],["𝝇","s"],["𝝈","s"],["𝝉","t"],["𝝊","y"],["𝝋","f"],["𝝌","x"],["𝝍","ps"],["𝝎","o"],["𝝏","a"],["𝝐","e"],["𝝑","i"],["𝝒","k"],["𝝓","f"],["𝝔","r"],["𝝕","p"],["𝝖","A"],["𝝗","B"],["𝝘","G"],["𝝙","D"],["𝝚","E"],["𝝛","Z"],["𝝜","I"],["𝝝","TH"],["𝝞","I"],["𝝟","K"],["𝝠","L"],["𝝡","M"],["𝝢","N"],["𝝣","KS"],["𝝤","O"],["𝝥","P"],["𝝦","R"],["𝝧","TH"],["𝝨","S"],["𝝩","T"],["𝝪","Y"],["𝝫","F"],["𝝬","X"],["𝝭","PS"],["𝝮","O"],["𝝯","D"],["𝝰","a"],["𝝱","v"],["𝝲","g"],["𝝳","d"],["𝝴","e"],["𝝵","z"],["𝝶","i"],["𝝷","th"],["𝝸","i"],["𝝹","k"],["𝝺","l"],["𝝻","m"],["𝝼","n"],["𝝽","ks"],["𝝾","o"],["𝝿","p"],["𝞀","r"],["𝞁","s"],["𝞂","s"],["𝞃","t"],["𝞄","y"],["𝞅","f"],["𝞆","x"],["𝞇","ps"],["𝞈","o"],["𝞉","a"],["𝞊","e"],["𝞋","i"],["𝞌","k"],["𝞍","f"],["𝞎","r"],["𝞏","p"],["𝞐","A"],["𝞑","V"],["𝞒","G"],["𝞓","D"],["𝞔","E"],["𝞕","Z"],["𝞖","I"],["𝞗","TH"],["𝞘","I"],["𝞙","K"],["𝞚","L"],["𝞛","M"],["𝞜","N"],["𝞝","KS"],["𝞞","O"],["𝞟","P"],["𝞠","S"],["𝞡","TH"],["𝞢","S"],["𝞣","T"],["𝞤","Y"],["𝞥","F"],["𝞦","X"],["𝞧","PS"],["𝞨","O"],["𝞩","D"],["𝞪","av"],["𝞫","g"],["𝞬","d"],["𝞭","e"],["𝞮","z"],["𝞯","i"],["𝞰","i"],["𝞱","th"],["𝞲","i"],["𝞳","k"],["𝞴","l"],["𝞵","m"],["𝞶","n"],["𝞷","ks"],["𝞸","o"],["𝞹","p"],["𝞺","r"],["𝞻","s"],["𝞼","s"],["𝞽","t"],["𝞾","y"],["𝞿","f"],["𝟀","x"],["𝟁","ps"],["𝟂","o"],["𝟃","a"],["𝟄","e"],["𝟅","i"],["𝟆","k"],["𝟇","f"],["𝟈","r"],["𝟉","p"],["𝟊","F"],["𝟋","f"],["⒜","(a)"],["⒝","(b)"],["⒞","(c)"],["⒟","(d)"],["⒠","(e)"],["⒡","(f)"],["⒢","(g)"],["⒣","(h)"],["⒤","(i)"],["⒥","(j)"],["⒦","(k)"],["⒧","(l)"],["⒨","(m)"],["⒩","(n)"],["⒪","(o)"],["⒫","(p)"],["⒬","(q)"],["⒭","(r)"],["⒮","(s)"],["⒯","(t)"],["⒰","(u)"],["⒱","(v)"],["⒲","(w)"],["⒳","(x)"],["⒴","(y)"],["⒵","(z)"],["Ⓐ","(A)"],["Ⓑ","(B)"],["Ⓒ","(C)"],["Ⓓ","(D)"],["Ⓔ","(E)"],["Ⓕ","(F)"],["Ⓖ","(G)"],["Ⓗ","(H)"],["Ⓘ","(I)"],["Ⓙ","(J)"],["Ⓚ","(K)"],["Ⓛ","(L)"],["Ⓝ","(N)"],["Ⓞ","(O)"],["Ⓟ","(P)"],["Ⓠ","(Q)"],["Ⓡ","(R)"],["Ⓢ","(S)"],["Ⓣ","(T)"],["Ⓤ","(U)"],["Ⓥ","(V)"],["Ⓦ","(W)"],["Ⓧ","(X)"],["Ⓨ","(Y)"],["Ⓩ","(Z)"],["ⓐ","(a)"],["ⓑ","(b)"],["ⓒ","(b)"],["ⓓ","(c)"],["ⓔ","(e)"],["ⓕ","(f)"],["ⓖ","(g)"],["ⓗ","(h)"],["ⓘ","(i)"],["ⓙ","(j)"],["ⓚ","(k)"],["ⓛ","(l)"],["ⓜ","(m)"],["ⓝ","(n)"],["ⓞ","(o)"],["ⓟ","(p)"],["ⓠ","(q)"],["ⓡ","(r)"],["ⓢ","(s)"],["ⓣ","(t)"],["ⓤ","(u)"],["ⓥ","(v)"],["ⓦ","(w)"],["ⓧ","(x)"],["ⓨ","(y)"],["ⓩ","(z)"],["Ċ","C"],["ċ","c"],["Ġ","G"],["ġ","g"],["Ħ","H"],["ħ","h"],["Ż","Z"],["ż","z"],["𝟎","0"],["𝟏","1"],["𝟐","2"],["𝟑","3"],["𝟒","4"],["𝟓","5"],["𝟔","6"],["𝟕","7"],["𝟖","8"],["𝟗","9"],["𝟘","0"],["𝟙","1"],["𝟚","2"],["𝟛","3"],["𝟜","4"],["𝟝","5"],["𝟞","6"],["𝟟","7"],["𝟠","8"],["𝟡","9"],["𝟢","0"],["𝟣","1"],["𝟤","2"],["𝟥","3"],["𝟦","4"],["𝟧","5"],["𝟨","6"],["𝟩","7"],["𝟪","8"],["𝟫","9"],["𝟬","0"],["𝟭","1"],["𝟮","2"],["𝟯","3"],["𝟰","4"],["𝟱","5"],["𝟲","6"],["𝟳","7"],["𝟴","8"],["𝟵","9"],["𝟶","0"],["𝟷","1"],["𝟸","2"],["𝟹","3"],["𝟺","4"],["𝟻","5"],["𝟼","6"],["𝟽","7"],["𝟾","8"],["𝟿","9"],["①","1"],["②","2"],["③","3"],["④","4"],["⑤","5"],["⑥","6"],["⑦","7"],["⑧","8"],["⑨","9"],["⑩","10"],["⑪","11"],["⑫","12"],["⑬","13"],["⑭","14"],["⑮","15"],["⑯","16"],["⑰","17"],["⑱","18"],["⑲","19"],["⑳","20"],["⑴","1"],["⑵","2"],["⑶","3"],["⑷","4"],["⑸","5"],["⑹","6"],["⑺","7"],["⑻","8"],["⑼","9"],["⑽","10"],["⑾","11"],["⑿","12"],["⒀","13"],["⒁","14"],["⒂","15"],["⒃","16"],["⒄","17"],["⒅","18"],["⒆","19"],["⒇","20"],["⒈","1."],["⒉","2."],["⒊","3."],["⒋","4."],["⒌","5."],["⒍","6."],["⒎","7."],["⒏","8."],["⒐","9."],["⒑","10."],["⒒","11."],["⒓","12."],["⒔","13."],["⒕","14."],["⒖","15."],["⒗","16."],["⒘","17."],["⒙","18."],["⒚","19."],["⒛","20."],["⓪","0"],["⓫","11"],["⓬","12"],["⓭","13"],["⓮","14"],["⓯","15"],["⓰","16"],["⓱","17"],["⓲","18"],["⓳","19"],["⓴","20"],["⓵","1"],["⓶","2"],["⓷","3"],["⓸","4"],["⓹","5"],["⓺","6"],["⓻","7"],["⓼","8"],["⓽","9"],["⓾","10"],["⓿","0"],["🙰","&"],["🙱","&"],["🙲","&"],["🙳","&"],["🙴","&"],["🙵","&"],["🙶",'"'],["🙷",'"'],["🙸",'"'],["‽","?!"],["🙹","?!"],["🙺","?!"],["🙻","?!"],["🙼","/"],["🙽","\\"],["🜇","AR"],["🜈","V"],["🜉","V"],["🜆","VR"],["🜅","VF"],["🜩","2"],["🜪","5"],["🝡","f"],["🝢","W"],["🝣","U"],["🝧","V"],["🝨","T"],["🝪","V"],["🝫","MB"],["🝬","VB"],["🝲","3B"],["🝳","3B"],["💯","100"],["🔙","BACK"],["🔚","END"],["🔛","ON!"],["🔜","SOON"],["🔝","TOP"],["🔞","18"],["🔤","abc"],["🔠","ABCD"],["🔡","abcd"],["🔢","1234"],["🔣","T&@%"],["#️⃣","#"],["*️⃣","*"],["0️⃣","0"],["1️⃣","1"],["2️⃣","2"],["3️⃣","3"],["4️⃣","4"],["5️⃣","5"],["6️⃣","6"],["7️⃣","7"],["8️⃣","8"],["9️⃣","9"],["🔟","10"],["🅰️","A"],["🅱️","B"],["🆎","AB"],["🆑","CL"],["🅾️","O"],["🅿","P"],["🆘","SOS"],["🅲","C"],["🅳","D"],["🅴","E"],["🅵","F"],["🅶","G"],["🅷","H"],["🅸","I"],["🅹","J"],["🅺","K"],["🅻","L"],["🅼","M"],["🅽","N"],["🆀","Q"],["🆁","R"],["🆂","S"],["🆃","T"],["🆄","U"],["🆅","V"],["🆆","W"],["🆇","X"],["🆈","Y"],["🆉","Z"]];const Dt=[["&"," and "],["🦄"," unicorn "],["♥"," love "]];function Rt(e,t){if("string"!=typeof e)throw new TypeError(`Expected a string, got \`${typeof e}\``);const o=(t={separator:"-",lowercase:!0,decamelize:!0,customReplacements:[],preserveLeadingUnderscore:!1,preserveTrailingDash:!1,...t}).preserveLeadingUnderscore&&e.startsWith("_"),r=t.preserveTrailingDash&&e.endsWith("-");e=function(e,t){if("string"!=typeof e)throw new TypeError(`Expected a string, got \`${typeof e}\``);t={customReplacements:[],...t};const o=new Map([...Pt,...t.customReplacements]);return e=((e,t)=>{for(const[o,r]of t)e=e.replace(new RegExp(Ot(o),"g"),r);return e})(e=e.normalize(),o),Mt(e)}(e,{customReplacements:new Map([...Dt,...t.customReplacements])}),t.decamelize&&(e=(e=>e.replace(/([A-Z]{2,})(\d+)/g,"$1 $2").replace(/([a-z\d]+)([A-Z]{2,})/g,"$1 $2").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1 $2"))(e));let n=/[^a-zA-Z\d]+/g;return t.lowercase&&(e=e.toLowerCase(),n=/[^a-z\d]+/g),e=(e=e.replace(n,t.separator)).replace(/\\/g,""),t.separator&&(e=((e,t)=>{const o=Ot(t);return e.replace(new RegExp(`${o}{2,}`,"g"),t).replace(new RegExp(`^${o}|${o}$`,"g"),"")})(e,t.separator)),o&&(e=`_${e}`),r&&(e=`${e}-`),e}function Bt(e,t,o){return null!=e&&!Number.isNaN(e)&&e>=t&&e<=o}function Ut(e,t,o,r){const n=function(e,t){return null==t?e:t.includes(e)?null:e-t.filter((t=>e>=t)).length}(e,r);null!=n&&n<=o&&t.add(n)}const Ht=e=>"\n"!==e.textContent?e.textContent:"",$t=e=>{if(e.querySelector(".go"))return null;const t=e.cloneNode(!0);let o=null;for(;o=t.querySelector("span.gp");){if(o.nextElementSibling?.classList.contains("w")){const e=o.nextElementSibling;e.textContent=e.textContent?.replace(" ","")??null}o.remove()}return t.innerText};let jt=null;function Ft(e){const{codeblockNumericId:t,rawContent:o,language:r,rawHighlightRanges:n,title:i,anchorId:l,showLineNumbers:c}=e,a=o.split("\n");if(0===a.length)return console.warn("useEnhancedCodeBlocks: Code Block appears to have no lines!"),null;const s=a[a.length-1];""!==s&&""!==s||a.pop();const{linesWithoutMagicComments:d,removedLineNumbers:u,additionalHighlightRanges:h}=function(e){let t=null;const o=[],r=[],n=[];for(let i=0;iBt(e,1,t))),n=t-r.length,i=new Set;return e?(e.split(",").forEach((e=>{if(""===e)return;const o=+e;if(Bt(o,1,t))Ut(o,i,n,r);else{const o=e.trim().split("-");if(2===o.length){const e=+o[0],l=+o[1];if(Bt(e,1,t)&&Bt(l,1,t)&&e<=l)for(let t=e;t<=l;++t)Ut(t,i,n,r)}}})),i):i}([n,h].filter(Boolean).join(","),a.length,u),m=`primer-spec-code-block-${t}`,f=function(e,t){return null==e?null:It.h("div",{class:"Box-header py-2 pr-2 d-flex flex-shrink-0 flex-md-row flex-items-center primer-spec-code-block-header"},It.h("span",{class:xt("flex-auto",ct),"data-anchor-id":t},e))}(i,l),g=It.h("div",{id:m,class:"Box mt-3 text-mono"},f,It.h("div",{class:xt("Box-body","p-0","primer-spec-code-block-body",f&&"primer-spec-code-block-header-present")},It.h("table",{class:"highlight"},It.h("tbody",{onMouseOver:e=>{if(null!=jt&&null!=e.target){let t=e.target;for(;t&&"TABLE"!==t.tagName;){const e=t.id.match(/^primer-spec-code-block-(?:\d+)-L(?:C|R)?(\d+)$/);if(e&&null!=e[1]){Yt(m,jt,+e[1]);break}t=t.parentNode}}},onMouseLeave:()=>{jt=null},onMouseUp:()=>{jt=null}},d.map(((e,t)=>function(e){const{codeblockId:t,language:o,line:r,lineNumber:n,shouldHighlight:i,showLineNumbers:l}=e,c=""===r?"\n":r,a=`${t}-L${n}`,s=`${t}-LC${n}`,d=`${t}-LR${n}`,u=It.h("tr",{id:d},It.h("td",{id:a,class:xt("primer-spec-code-block-line-number",l&&"primer-spec-code-block-line-numbers-shown"),"data-line-number":n,onMouseDown:e=>{e.preventDefault(),jt=n,Yt(t,jt,jt)}}),It.h("td",{id:s,class:xt(it,i&&"primer-spec-code-block-highlighted"),dangerouslySetInnerHTML:{__html:c}}));if(o===at){const e=u.querySelector(`.${it}`),t=e.firstChild;if("SPAN"===t?.tagName&&t.classList.contains("gp")){e.id="";const t=[...e.childNodes],o=[];let r=0;for(;r1?function(e,t){return It.h("div",{class:"primer-spec-zeroclipboard-container position-absolute top-0 right-0"},It.h("button",{type:"button",class:"btn-octicon no-print m-2 p-2 tooltipped tooltipped-no-delay tooltipped-n",tabIndex:0,"aria-label":t?"Copy all commands":"Copy",onClick:async o=>{const r=document.getElementById(e);if(r){await async function(e,t=Ht){const o=`${[...e.querySelectorAll(`.${it}`)].map((e=>t(e))).filter((e=>null!=e)).join("\n")}\n`;await navigator.clipboard.writeText(o)}(r,t?$t:Ht);let e=o.target;if("I"===e?.tagName&&(e=e.parentElement),!e)return;const n=e.getAttribute("aria-label");e.setAttribute("aria-label","Copied!");const i=e.firstChild;if(!i)return;e.innerText="",e.appendChild(It.h("i",{class:"fas fa-check"})),setTimeout((()=>{e&&(e.setAttribute("aria-label",n||""),e.blur(),e.innerText="",e.appendChild(i))}),2e3)}}},It.h("i",{class:"far fa-copy"})))}(m,r===at):null));return g}function Yt(e,t,o){let r=t,n=o;r>n&&(r=o,n=t);const i=document.getElementById(`${e}-LC${r}`),l=document.getElementById(`${e}-LC${n}`);if(!i||!l)return void console.error("Primer Spec Code Block: selectLines: start or end nodes are null. Please report this issue on https://github.com/eecs485staff/primer-spec/issues. Thanks!");const c=document.createRange();c.setStart(i,0),c.setEnd(l,l.childNodes.length),document.getSelection()?.removeAllRanges(),document.getSelection()?.addRange(c)}const zt=/^\s*.*primer-spec-highlight-(start|end)/i;function Gt(e){if(!e.current)throw new Error("Primer Spec: Main Content: Expected main content ref to be initialized.");const t=qt(e.current.querySelectorAll("div.highlighter-rouge"),Wt,0);return qt(e.current.querySelectorAll("pre"),Kt,t),()=>{}}function Wt(e){const t=e.firstElementChild?.firstElementChild?.firstElementChild;return null==t?(console.warn("useEnhancedCodeBlocks: Code Block has malformed structure. See Primer Spec Docs for expected structure. https://github.com/eecs485staff/primer-spec/blob/main/docs/USAGE_ADVANCED.md#enhanced-code-blocks","codeblock",e),null):t}function Kt(e){return 1===e.childNodes.length&&"CODE"===e.firstElementChild?.tagName?e.firstElementChild:e}function qt(e,t,o=0){let r=o;return[...e].filter((e=>null==e.querySelector(`.${lt}`)&&null==e.closest(`.${lt}`))).forEach((e=>{if(function(e){return null!=e.querySelector(".language-mermaid")||Qt(e)===nt.LEGACY}(e))return void e.classList.add(lt);const o=r++,n=e.parentElement;if(!n)return void console.warn("useEnhancedCodeBlocks: Codeblock missing parent");const i=t(e);if(null==i)return;const l=function(e){const t=e.cloneNode();return e.childNodes.forEach((e=>{if(e.nodeType===Node.ELEMENT_NODE){if("SPAN"===e.tagName&&null!=e.textContent){const o=e.textContent.split("\n");o.forEach(((r,n)=>{if(r){const o=e.cloneNode();o.textContent=r,t.appendChild(o)}ne.remove())),e.current.querySelectorAll("pre > code.language-mermaid").forEach(((e,t)=>{const o=`diagram-${t}`,r=e.innerText,n=e.parentElement;if(null==n)return;n.style.display="none";const i=It.h("div",{class:"primer-spec-mermaid-output","aria-label":"Mermaid-enhanced diagram"});n.after(i),mermaid.mermaidAPI.render(o,r,(e=>{i.innerHTML=e;const t=i.querySelector("svg");if(null==t)return void console.warn("Primer Spec: Mermaid diagram didn't have an SVG. Please report this issue at github.com/eeccs485staff/primer-spec/issues. Thanks!");t.setAttribute("role","img"),n.dataset.title&&t.insertBefore(It.h("title",{id:`${o}-title`},n.dataset.title),t.firstChild);let l=n.dataset.description;l||(l=r),t.insertBefore(It.h("desc",{id:`${o}-desc`},l),t.firstChild),t.setAttribute("aria-labelledby",`${o}-title ${o}-desc`)}))})),()=>{}):()=>{}}function Zt(e){if(!e.current)throw new Error("Primer Spec: Main Content: Expected main content ref to be initialized.");return e.current.querySelectorAll("abbr[title]").forEach((e=>{e.classList.add("tooltipped","tooltipped-no-delay","tooltipped-n"),e.setAttribute("aria-label",e.title),e.removeAttribute("title")})),()=>{}}function Jt(){const[e,t]=W(window.matchMedia("(prefers-color-scheme: dark)").matches);return K((()=>{const e=e=>t(e.matches);return window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",e)}}),[]),e}function eo({innerHTML:e,visible:t,scrollToPosition:o,isSmallScreen:r,sidebarShown:n,currentSubthemeName:i,currentSubthemeMode:l}){const c=vt(),a=Jt(),s=function(){const[e,t]=W("complete"===document.readyState);return K((()=>{const e=()=>{t(!0)};return window.addEventListener("load",e),()=>{window.removeEventListener("load",e)}})),e}(),d=Q(null),u=X(Tt,[e]);K((()=>u(d)),[u]);const h=X(Gt,[e]);K((()=>h(d)),[h]);let p=!1;switch(l){case"system":p=a;break;case"dark":p=!0;break;default:p=!1}"xcode-civic"!==i&&"spooky"!==i||(p=!0),c&&(p=!1);const f=X(Xt,[e]);K((()=>f(d,p)),[s,f,p]);const g=X(Zt,[e]);return K((()=>g(d)),[g]),q((()=>{null!=o&&window.scrollTo(o)}),[o]),m("main",{ref:d,id:mt.PRIMER_SPEC_CONTENT_PREACT_NODE_ID,class:xt("container-lg","px-3","my-5","markdown-body",{"primer-spec-content-margin-extra":n&&!r&&!c,"primer-spec-content-mobile":r&&!c,"primer-spec-content-frozen":!t}),dangerouslySetInnerHTML:{__html:e}})}function to(e){const{theme_definition:t}=e.subtheme,{mode:o}=e,r=`primer-spec-theme-preview-${e.subtheme.name}-${e.mode}`,n=t[o]["--main-bg-color"]||"white",i=t[o]["--sidebar-bg-color"]||"white";return m("svg",{class:r,viewBox:"30.774 27.546 298.133 175.743",xmlns:"http://www.w3.org/2000/svg",style:`background-color: ${n};`,role:"img"},m("defs",null,m("style",null,`.${r} .sidebar-bg{fill:${i};stroke:${i};}`,`.${r} .sidebar-heading{fill:${t[o]["--sidebar-heading-text-color"]||"black"};}`,`.${r} .sidebar-toc-h1-link{fill:${t[o]["--sidebar-toc-h1-link-color"]||"#0366d6"};}`,`.${r} .sidebar-active-toc-section-bg{fill:${t[o]["--sidebar-active-toc-section-bg-color"]||"#faed27"};}`,`.${r} .sidebar-active-toc-section-link{fill:${t[o]["--sidebar-active-toc-section-link-color"]||"black"};}`,`.${r} .sidebar-toc-section-link{fill:${t[o]["--sidebar-toc-section-link-color"]||"black"};}`,`.${r} .sidebar-toc-h1-border-color{fill:${t[o]["--sidebar-toc-h1-border-color"]||"lightgrey"};}`,`.${r} .main-heading-link{fill:${t[o]["--main-heading-link-color"]||"#0366d6"};}`,`.${r} .main-text{fill:${t[o]["--main-text-color"]||"black"};}`,`.${r} .main-header-border-bottom{fill:none;stroke:${t[o]["--main-header-border-bottom-color"]||"#eaecef"};stroke-miterlimit:10;}`,`.${r} .main-link{fill:${t[o]["--main-link-color"]||"#0366d6"};}`,`.${r} .main-table-pre{fill:${t[o]["--main-table-pre-bg-color"]||"#f6f8fa"};stroke:${"light"===o?"none":"rgb(60, 62, 66)"};stroke-width:0.2}`,`.${r} .sidebar-border{fill:none;stroke:${t[o]["--sidebar-border-color"]||"#eaecef"};stroke-miterlimit:10;}`)),m("rect",{class:"sidebar-bg",x:"30.79",y:"27.669",width:"93.85",height:"175.646"}),m("rect",{class:"sidebar-heading",x:"43.588",y:"43.623",width:"41",height:"10.26",rx:"5"}),m("rect",{class:"sidebar-toc-h1-link",x:"43.588",y:"62.993",width:"58",height:"10.26",rx:"5"}),m("path",{class:"sidebar-active-toc-section-bg",d:"M 65.268 81.893 L 124.518 81.893 C 124.518 81.893 124.518 81.893 124.518 81.893 L 124.518 99.893 C 124.518 99.893 124.518 99.893 124.518 99.893 L 65.268 99.893 C 60.435 99.893 56.518 95.976 56.518 91.143 L 56.518 90.633 C 56.523 85.805 60.439 81.893 65.268 81.893 Z"}),m("rect",{class:"sidebar-active-toc-section-link",x:"64.748",y:"85.853",width:"47.77",height:"10.26",rx:"5.13"}),m("rect",{class:"sidebar-toc-section-link",x:"64.438",y:"105.573",width:"48.08",height:"10.26",rx:"5"}),m("rect",{class:"sidebar-toc-section-link",x:"64.438",y:"124.573",width:"48.08",height:"10.26",rx:"5.13"}),m("rect",{class:"sidebar-toc-h1-border-color",x:"-50.518",y:"-135.883",width:"2",height:"55",transform:"matrix(-1, 0, 0, -1, 0, 0)"}),m("rect",{class:"main-heading-link",x:"141.588",y:"43.623",width:"106.93",height:"21.26",rx:"4.49"}),m("rect",{class:"main-text",x:"141.518",y:"80.893",width:"162",height:"6",rx:"3"}),m("line",{class:"main-header-border-bottom",x1:"141.588",y1:"72.623",x2:"306.858",y2:"72.623"}),m("rect",{class:"main-text",x:"141.518",y:"103.893",width:"101",height:"6",rx:"3"}),m("rect",{class:"main-link",x:"245.388",y:"103.623",width:"28.13",height:"6.26",rx:"3.13"}),m("rect",{class:"main-text",x:"276.518",y:"103.623",width:"27",height:"6",rx:"3"}),m("rect",{class:"main-table-pre",x:"141.518",y:"170.893",width:"162",height:"32.424",style:""}),m("circle",{class:"main-text",cx:"144.088",cy:"136.123",r:"2"}),m("circle",{class:"main-text",cx:"144.088",cy:"160.123",r:"2"}),m("circle",{class:"main-text",cx:"144.088",cy:"148.123",r:"2"}),m("rect",{class:"main-link",x:"151.288",y:"133.063",width:"27.23",height:"6",rx:"3"}),m("rect",{class:"main-link",x:"151.288",y:"145.063",width:"27.23",height:"6",rx:"3"}),m("rect",{class:"sidebar-toc-h1-link",x:"43.638",y:"148.663",width:"58",height:"10.26",rx:"5"}),m("rect",{class:"sidebar-toc-h1-border-color",x:"-50.518",y:"-203.281",width:"1.95",height:"36.728",transform:"matrix(-1, 0, 0, -1, 0, 0)",style:""}),m("rect",{class:"sidebar-toc-section-link",x:"64.888",y:"166.803",width:"48.08",height:"10.26",rx:"5"}),m("rect",{class:"sidebar-toc-section-link",x:"64.888",y:"183.803",width:"48.08",height:"10.26",rx:"5.13"}),m("path",{class:"sidebar-toc-section-link",d:"M 65.248 203.3 C 66.2 202.04 67.796 201.283 69.504 201.283 L 107.283 201.283 C 108.94 201.285 110.459 202.119 111.424 203.317",style:""}),m("rect",{class:"main-text",x:"141.518",y:"92.893",width:"162",height:"6",rx:"3"}),m("rect",{class:"main-text",x:"141.518",y:"115.893",width:"162",height:"6",rx:"3"}),m("rect",{class:"main-link",x:"151.398",y:"157.243",width:"27.23",height:"6",rx:"3"}),m("line",{class:"sidebar-border",x1:"124.588",y1:"27.623",x2:"124.588",y2:"203.317",style:""}))}const oo=[{name:"light",label:"Light"},{name:"dark",label:"Dark"},{name:"system",label:"Sync with OS setting"}];function ro(e){const t=vt();if(Jt(),kt((()=>ft({name:"default",mode:"light"},!1))),yt((()=>ft({name:e.currentSubthemeName,mode:e.currentSubthemeMode},!1))),!e.settingsShown||t)return null;const o=At(e.currentSubthemeMode);return m("div",{class:"primer-spec-settings-container position-fixed top-0 left-0 width-full height-full"},m("div",{class:xt("primer-spec-settings","container-lg","markdown-body","px-3","my-5",{"primer-spec-content-margin-extra":e.sidebarShown&&!e.isSmallScreen,"primer-spec-content-mobile":e.isSmallScreen})},m("h1",{class:"primer-spec-toc-ignore"},"Spec Theme Settings"),m("h2",null,"Colors"),m("form",{class:"primer-spec-settings-theme-preview-container",onSubmit:e=>e.preventDefault()},Object.values(Je).map((t=>m("label",{key:t.name,class:xt("primer-spec-settings-theme-preview-box",{"primer-spec-settings-theme-preview-selected":e.currentSubthemeName===t.name})},m(to,{subtheme:t,mode:o}),m("div",{class:xt("primer-spec-settings-theme-preview-title",{"primer-spec-settings-theme-preview-selected":e.currentSubthemeName===t.name})},m("input",{type:"radio",value:t.name,name:"primer-spec-settings-subtheme",checked:e.currentSubthemeName===t.name,onChange:t=>e.onSubthemeNameChange(t.target.value)})," ",t.label))))),m("h2",null,"Color mode"),m("form",{onSubmit:e=>e.preventDefault()},oo.map((t=>m("label",{key:t.name,class:"primer-spec-settings-theme-mode-label"},m("input",{type:"radio",value:t.name,name:"primer-spec-settings-subtheme-mode",checked:e.currentSubthemeMode===t.name,onChange:t=>e.onSubthemeModeChange(t.target.value)})," ",t.label)))),m("hr",null),m("p",null,m("small",null,"Does the spec display incorrectly? ",m("a",{href:"https://github.com/eecs485staff/primer-spec/issues"},'Let us know by adding a new "issue" here.'))),m("p",{class:"primer-spec-brand"},m("a",{href:"https://github.com/eecs485staff/primer-spec/",target:"_blank",rel:"noreferrer"},`Primer Spec v${mt.VERSION_RAW}`))))}var no;!function(e){e.CLOSE="fas fa-times",e.HOME="fas fa-home",e.SETTINGS="fas fa-cog",e.SIDEBAR="fas fa-bars",e.EXTERNAL_LINK="fas fa-external-link-alt",e.DOWNLOAD="fas fa-file-download"}(no||(no={}));const io=no;function lo(e){return m("span",{class:"primer-spec-hoverable "+(e.floatRight?"primer-spec-hoverable-float-right":"")},e.children)}function co(e){return m(lo,{floatRight:e.floatRight},m("a",{href:e.href??"#primer-spec-top",class:"primer-spec-hoverable no-print",onClick:e.onClick?t=>{t.preventDefault(),e.onClick&&e.onClick()}:void 0,"aria-label":e.ariaLabel},m("i",{class:e.icon})))}function ao(e){return m(lo,{floatRight:e.floatRight},m("button",{class:"btn-link primer-spec-hoverable no-print",onClick:e.onClick?t=>{t.preventDefault(),e.onClick&&e.onClick()}:void 0,"aria-label":e.ariaLabel},m("i",{class:e.icon})))}function so(e){return m(lo,{floatRight:e.floatRight},m("a",{class:"btn-link primer-spec-hoverable no-print tooltipped tooltipped-no-delay tooltipped-w",role:"button",href:e.href,onClick:t=>{t.preventDefault(),function(e){const{url:t,download:o}=e;try{!function(e){if(!e.startsWith("https://")&&!e.startsWith("/"))throw new Error(`Expected HTTPS external link, received: ${e}`)}(t)}catch(e){return void console.error("Blocking attempt to open external link. Error:",e)}const r=document.createElement("a");r.href=t,null!=o&&!1!==o&&(r.download="boolean"==typeof o?"":o),r.style.display="none",document.body.appendChild(r),r.click(),setTimeout((()=>{document.body.removeChild(r)}),2e3)}({url:e.href,download:e.download})},"aria-label":e.ariaLabel},m("i",{class:e.icon})))}function uo(e){const t=e.tagName.match(/^H(\d+)$/i);if(null==t)throw new Error(`Primer Spec: Unexpected heading tagname while attempting to extract heading level: ${e.tagName}`);return parseInt(t[1],10)}function ho(e){const t=function(e){return 1===e.length&&1===e[0].headingLevel?e[0].section:e}(e),o=function(e){return e.reduce(((e,t)=>null==e||t.headingLevel{let o=e.headingLevel-t;return o<1&&(console.error("Primer Spec: Unexpectedly negative heading level"),o=1),{...e,headingLevel:o,section:po(e.section,t)}}))}function mo(e){const[t,o]=W(window.scrollY||0);K((()=>{let e=!1;const t=()=>{e||(window.requestAnimationFrame((()=>{o(window.scrollY),e=!1})),e=!0)};return window.addEventListener("scroll",t,{passive:!0}),()=>{window.removeEventListener("scroll",t)}}),[]);const r=function(e,t){const o=document.body.querySelector(e);if(!o)throw new Error(`Primer Spec: TableOfContents: Main content node could not be found with selector: ${e}`);const r=[...o.querySelectorAll("h1, h2, h3, h4, h5, h6")].filter((e=>!e.classList.contains("primer-spec-toc-ignore")));let n=r.length-1;for(let e=0;e0){n=e-1;break}return function(e,t){return m("ul",{class:"primer-spec-toc-list"},ho(function(e,t=-1){if(!e.length)return[];const o=[];let r=1,n={heading:e[0],headingLevel:uo(e[0]),active:0===t,section:[]};const i=[];for(;rn.heading.tagName?(n.section.push(c),i.push(n),n=c,++r):i.length?n=i.pop():(o.push(n),n=c,++r)}return i.length?o.push(i[0]):o.push(n),o}(e,t)).map((e=>fo(e))))}(r,n)}(e.contentNodeSelector,e.activeSectionOffsetY);return m("nav",{class:"primer-spec-toc","aria-label":"Page contents"},m("div",{role:"presentation",onClick:()=>{e.isSmallScreen&&e.sidebarShown&&e.onToggleSidebar(),e.settingsShown&&e.onToggleSettings()}},r))}function fo(e){const t=e.heading,o=function(e){if(e.id&&bo[e.id])return bo[e.id];let t=null;try{const o=[];e.childNodes.forEach((e=>{switch(e.nodeType){case Node.TEXT_NODE:o.push(m(g,null,e.nodeValue));break;case Node.ELEMENT_NODE:if(!(e instanceof HTMLElement))throw new Error("getHeadingLabel expected HTML Element");if("CODE"===e.tagName||"TT"===e.tagName)o.push(m("code",{class:[...e.classList].join(" ")},e.innerText));else if("ABBR"===e.tagName)o.push(m(g,null,e.innerText));else{if("A"===e.tagName&&e.classList.contains("anchorjs-link"))return;o.push(m("span",{dangerouslySetInnerHTML:{__html:e.outerHTML}}))}}})),t=m(g,null,o)}catch(o){console.error("Primer Spec ToC: Errored while building heading label for heading",e),t=m(g,null,e.innerText)}return e.id&&(bo[e.id]=t),t}(t);return m("li",null,m("div",{class:xt(`primer-spec-toc-item primer-spec-toc-h${e.headingLevel}`,{"primer-spec-toc-active":e.active})},m("a",{href:go(t)},o)),m("ul",{class:"primer-spec-toc-section primer-spec-toc-list"},e.section.map((e=>fo(e)))))}function go(e){const t=e.querySelector("a.anchorjs-link");return t?t.getAttribute("href")||"#":(console.error("Primer Spec: getAnchorLink expected heading to contain anchor while populating table of contents."),"#")}const bo={};function Ao(e){if(null==e.sitemap)return m("div",{role:"presentation",onClick:()=>!0},e.children);const t=e.sitemap.rootPage.current;return m(g,null,m(_o,{sitemap:e.sitemap},t?void 0:e.children),m("hr",null),m(wo,{page:e.sitemap.rootPage,dedent:!0},t?e.children:void 0))}function _o(e){const t=null==mt.SITEMAP_LABEL,o=m(g,null,e.sitemap.siteUrls.map((o=>m(wo,{key:o.url,page:o,dedent:t},o.current?e.children:void 0))));return t?o:m("details",{role:"navigation","aria-label":mt.SITEMAP_LABEL,open:!e.sitemap.rootPage.current||void 0},m("summary",null,mt.SITEMAP_LABEL),o)}function wo(e){const t=e.page.title||e.page.path&&function(e){const t=(e=function(e){const t=e.split("/");return t[t.length-1]}(e)).lastIndexOf(".");return-1!==t&&(e=e.slice(0,t)),(e=e.replace(/[-_]/g," ")).replace(/\w\S*/g,(e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()))}(e.page.path);return t||console.error(`Primer Spec: Page with URL ${e.page.url} has no title to display in sidebar`),e.page.current?m("details",{open:!0,class:e.dedent?"left-space-fix":"primer-spec-toc-sitemap-item"},m("summary",{class:"left-space-fix primer-spec-toc-active"},t),e.children):m("a",{href:e.page.url,tabIndex:-1},m("details",{class:e.dedent?"":"primer-spec-toc-sitemap-item"},m("summary",{class:e.page.external?"primer-spec-toc-sitemap-external":"","data-order":e.page.external?"":e.page.sitemapOrder??"",role:"link",onClick:t=>{t.preventDefault(),window.location.href=e.page.url}},t,e.page.external&&m(g,null,m("i",{class:io.EXTERNAL_LINK}),m("span",{class:"sr-only"},"External Link")))))}const vo="primer_spec_sidebar_width_delta";let ko;function yo({sidebarRef:e}){const t=Q(null),o=Q({startCursorScreenX:null,startSidebarWidth:null,startMainContentMargin:null}),[r,n]=W(null),i=X(((o,r,n)=>{if(null!=r&&null!=n){let i=Math.max(250,r+o);i=Math.min(i,650);const l=n+(i-r);e.current&&t.current&&(e.current.style.width=`${i}px`,t.current.style.left=`${i}px`,So().forEach((e=>{e.style.marginLeft=`${l}px`})))}}),[e,t]);return q((()=>{ko=Eo(e);const t=function(){const e=parseInt(ot.getForPage(vo)??"",10);return Number.isNaN(e)?null:e}();null!=t&&i(t,ko,xo())}),[]),K((()=>{const t=e=>{const{startCursorScreenX:t,startSidebarWidth:r,startMainContentMargin:n}=o.current;if(t){const o=e.screenX-t;i(o,r,n)}},r=()=>{const t=xo();null!=t&&n(t);const r=parseInt(e.current?.style.width??"",10);var i;i=Number.isNaN(r)?null:r-(ko??0),ot.setForPage(vo,i??""),o.current={startCursorScreenX:null,startSidebarWidth:null,startMainContentMargin:null}};return document.addEventListener("mousemove",t,{passive:!0}),document.addEventListener("mouseup",r,{passive:!0}),()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)}}),[e,t,i,n]),m("div",{ref:t,class:"primer-spec-sidebar-resize-handle position-fixed top-0",tabIndex:-1,"aria-hidden":"true",onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),o.current={startCursorScreenX:t.screenX,startSidebarWidth:Eo(e),startMainContentMargin:xo()}}},r?m("style",null,".primer-spec-content-margin-extra {",` margin-left: ${r}px`,"}"):null)}function Eo(e){return e.current?.offsetWidth??null}function So(){const e=document.querySelectorAll(".primer-spec-content-margin-extra");if(e.length<=0)throw new Error("Primer Spec: While resizing sidebar, expected at least one main content node.");return e}function xo(){const e=So(),t=e?window.getComputedStyle(e[0]).getPropertyValue("margin-left"):null;return t?.match(/^\d+px$/)?parseInt(t,10):null}const Co="primer_spec_sidebar_scroll_position";function To(e){const{isSmallScreen:t,sidebarShown:o,onToggleSidebar:r}=e,n=vt(),i=Q(null),l=V((()=>function(e){if(!e)return null;const t=mt.SITEMAP_URLS.filter((e=>!e.path?.startsWith("assets")));if(0===t.length)return null;const o=t.findIndex((e=>/^(index|readme)\.(md|htm|html)$/.test(e.path?.toLowerCase()||"")));if(-1===o)return console.warn("PrimerSpec: processSitemapURLs: Expected to find a root page. Disabling sitemap."),null;const[r]=t.splice(o,1);return r.title=mt.SITEMAP_SITE_TITLE,t.sort(((e,t)=>e.external&&t.external?0:e.external?1:t.external?-1:(e.sitemapOrder??Number.MAX_VALUE)-(t.sitemapOrder??Number.MAX_VALUE))),{rootPage:r,siteUrls:t}}(e.sitemapEnabled)),[e.sitemapEnabled]),c=X((()=>{i?.current&&Lo(i.current.scrollTop),r()}),[r]);return K((()=>{const e=e=>{const t=e?.target;t&&!t.matches(".primer-spec-sidebar, .primer-spec-sidebar *")&&document.body.contains(t)&&o&&c()};return t&&window.addEventListener("click",e),()=>{window.removeEventListener("click",e)}}),[t,o,c]),q((()=>{const e=function(){const e=parseInt(ot.getForPage(Co)||"",10);return Number.isNaN(e)?null:e}();e&&i?.current&&(i.current.scrollTop=e,Lo(null))})),!e.sidebarShown||n?m("div",null):m(g,null,m("aside",{ref:i,class:"primer-spec-sidebar position-fixed top-0 py-5 no-print","aria-label":"Contents Sidebar",tabIndex:-1},m("h2",{class:"primer-spec-toc-ignore",id:"primer-spec-toc-contents"},null==l?void 0:m(g,null,m(co,{icon:io.HOME,href:l.rootPage.url,ariaLabel:l.rootPage.title||"Home"})," "),"Contents",m(ao,{icon:io.SIDEBAR,floatRight:!0,onClick:c,ariaLabel:"Close navigation pane"})),m("br",null),m(Ao,{sitemap:l},m(mo,{contentNodeSelector:e.contentNodeSelector,isSmallScreen:e.isSmallScreen,sidebarShown:e.sidebarShown,settingsShown:e.settingsShown,activeSectionOffsetY:e.activeSectionOffsetY,onToggleSidebar:c,onToggleSettings:e.onToggleSettings}))),t?null:m(yo,{sidebarRef:i}))}function Lo(e){ot.setForPage(Co,`${e}`)}const No="primer-spec-topbar-button";function Io(e){const t=Q(null),{isSmallScreen:o,onActiveSectionOffsetChange:r}=e;q((()=>{o?t.current&&r(t.current.getBoundingClientRect().height):r(20)}),[o,r]);let n=null;e.showSidebarToggle&&(n=e.sidebarShown?null:m("div",{class:"primer-spec-topbar-button primer-spec-float-left"},m(ao,{icon:io.SIDEBAR,onClick:e.onToggleSidebar,ariaLabel:"Open navigation pane"})));let i=null;if(null!=mt.PDF_PATH&&(!e.isSmallScreen||e.isSmallScreen&&e.settingsShown)){const e=mt.SITE_QUALIFIED_BASE_URL+mt.PDF_PATH;i=m("div",{class:No},m(so,{icon:io.DOWNLOAD,href:e,download:!0,ariaLabel:"Download this page as a PDF file"}))}let l=null;return e.showSettingsToggle&&(l=m("div",{id:"primer-spec-settings-toggle",class:No},m(ao,{icon:e.settingsShown?io.CLOSE:io.SETTINGS,onClick:e.onToggleSettings,ariaLabel:e.settingsShown?"Close settings pane":"Open settings pane"}))),m("header",{ref:t,class:xt("primer-spec-topbar","position-fixed","width-full","top-0","left-0","py-2","no-print",{"primer-spec-topbar-mobile":e.isSmallScreen,"primer-spec-topbar-settings-shown":e.settingsShown})},n,m("div",{class:"primer-spec-float-right"},i,l))}let Oo=null;function Mo(e){const t=function(){const[e,t]=W(Et());return q((()=>{const o=()=>{const o=Et();o!==e&&t(o)};return window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o)}}),[e]),e}(),[o,n]=W(!mt.HIDE_SIDEBAR_ON_LOAD&&!t),[i,l]=W(!1),[c,a]=W(mt.DEFAULT_ACTIVE_SECTION_OFFSET_Y),[s,d]=W(mt.INIT_SUBTHEME_NAME),[u,h]=W(mt.INIT_SUBTHEME_MODE),[p,f]=W(mt.INIT_SITEMAP_ENABLED),b=!i,A=()=>{ot.setForPage("sidebar_hidden",o.toString()),n(!o)},_=()=>{b&&(Oo={top:window.scrollY,left:window.scrollX}),l(!i)},w=e=>{ft(e),d(gt()),h(bt())};kt(X((()=>{Po(!1)}),[])),yt(X((()=>{Po(!0)}),[])),K((()=>{window.Debug=Object.freeze({toggleSitemap:()=>f(!p)})}),[p]),K((()=>{r.e(262).then(r.bind(r,262)).then((({executePlugins:e})=>{e({is_small_screen:t,sidebar_shown:o,settings_shown:i,subtheme_name:s,subtheme_mode:At(u)})}))}),[t,o,i,s,u]);const v=mt.DISABLE_SIDEBAR?null:m(To,{contentNodeSelector:`#${mt.PRIMER_SPEC_CONTENT_PREACT_NODE_ID}`,isSmallScreen:t,sidebarShown:o,settingsShown:i,activeSectionOffsetY:c,sitemapEnabled:p,onToggleSidebar:A,onToggleSettings:_});return m(g,null,m(Io,{isSmallScreen:t,showSidebarToggle:!mt.DISABLE_SIDEBAR,showSettingsToggle:!0,sidebarShown:o,settingsShown:i,onActiveSectionOffsetChange:a,onToggleSidebar:A,onToggleSettings:_}),m(eo,{innerHTML:e.contentHTML,visible:b,scrollToPosition:b?Oo:null,isSmallScreen:t,sidebarShown:o,currentSubthemeName:s,currentSubthemeMode:u}),v,m(ro,{isSmallScreen:t,sidebarShown:o,settingsShown:i,currentSubthemeName:s,currentSubthemeMode:u,onSubthemeNameChange:e=>w({name:e}),onSubthemeModeChange:e=>w({mode:e})}))}function Po(e){const t=function(){const e=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);return!!e&&parseInt(e[2],10)}();if(!1===t||t>=82)return;const o=e?"italic":"inherit",r=document.querySelectorAll("em, dfn, .text-italic, dt, .highlight .cm, .highlight .c1, .highlight .cs, .highlight .cd, .highlight .ge, .primer-spec-toc-h4");Array.from(r).map((e=>{e.style.fontStyle=o}))}!function(){const o=new(a());o.add("h1"),o.add();const r=document.getElementById(mt.PRIMER_SPEC_CONTENT_PLUGIN_NODE_ID),n=document.getElementById(mt.PRIMER_SPEC_APP_NODE_ID);if(!r||"DIV"!==r.tagName||!n||"DIV"!==n.tagName)throw new Error("Primer Spec: This page included the Primer Spec plugin script, but was not compatible with the plugin!");const i=r.innerHTML;r.remove(),function(e,t,o){const r=document.createElement("link");r.rel="stylesheet",r.href="https://use.fontawesome.com/releases/v5.7.2/css/all.css",r.integrity=t,r.crossOrigin=o,document.head.appendChild(r)}(0,"sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr","anonymous"),ft({name:mt.INIT_SUBTHEME_NAME,mode:mt.INIT_SUBTHEME_MODE},!1),window.matchMedia("(prefers-color-scheme: dark)").addListener((()=>ft())),function(o,r,n){var i,l,c;t.__&&t.__(o,r),l=(i="function"==typeof n)?null:n&&n.__k||r.__k,c=[],L(r,o=(!i&&n||r).__k=m(g,null,[o]),l||s,s,void 0!==r.ownerSVGElement,!i&&n?[n]:l?null:r.firstChild?e.call(r.childNodes):null,c,!i&&n?n:l?l.__e:r.firstChild,i),N(c,o)}(m(Mo,{contentHTML:i}),n),console.info("\nThis page is formatted using %cPrimer Spec.%c\n\nWould you like to contribute to the theme? Check out:\nhttps://github.com/eecs485staff/primer-spec\n","font-weight: bolder;","")}()})()})(); +//# sourceMappingURL=primer_spec_plugin.min.js.map \ No newline at end of file diff --git a/assets/v1.10/js/primer_spec_plugin.min.js.map b/assets/v1.10/js/primer_spec_plugin.min.js.map new file mode 100644 index 00000000..4bb3c92f --- /dev/null +++ b/assets/v1.10/js/primer_spec_plugin.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"primer_spec_plugin.min.js","mappings":"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,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAC1B,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACvE,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IACxD,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACtF,EAAU,IAAM,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IAAK,EAAU,IACtF,EAAU,IAAM,EAAU,IAC1B,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAAU,IAAM,EAAU,IAAK,EAAU,IACzC,EAA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BACA,+BACA,8BACA,gCACA,8BACA,wCACA,0CACA,6CACA,6CACA,mCACA,iCACA,+BACA,6BACA,oCACA,0BACA,4BACA,4BACA,oBACA,+BACA,oCACA,4BACA,qCACA,kBACA,gBACA,cACA,qBACA,kBACA,oBACA,wBACA,iCACA,4BACA,8BACA,0BACA,+BACA,gCACA,oCACA,yCACA,2CACA,6CACA,sCACA,wCACA,0CACA,wCACA,yCACA,2CACA,6CACA,2CACA,wCACA,0CACA,4CACA,0CACA,yCACA,2CACA,6CACA,2CACA,6BACA,4BACA,+BACA,wBACA,iCACA,kCACA,sCACA,4BACA,+BACA,mCACA,6BACA,yCACA,qCACA,yCACA,6BACA,kBACA,sBAESC,GAAoB,CAC7B,QACA,mBACA,aACA,eAESC,GAAoB,CAC7B,KACA,KACA,KACA,KACA,KACA,IACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,OCxIJ,SAAS,KACL,MAAMC,EAAalb,SAASmb,gBAC5BF,GAAkBxY,KAAK2Y,IACnBJ,GAAkBvY,KAAK4Y,IACnB,MAAMC,EAAW,uBAAuBF,KAAcC,IACtDH,EAAWpZ,MAAMyZ,eAAeD,SAS7B,SAASE,GAAiBxK,EAAMyK,GAC3C,MAAO,CACHzK,KAAAA,EAGA0K,MAAO,IA9Bf,SAAeD,GACX,MAAMP,EAAalb,SAASmb,gBAC5BF,GAAkBxY,KAAK2Y,IACnB,GAAIK,EAAWL,GACX,IAAK,MAAOC,EAAY3W,KAAU5F,OAAO6c,QAAQF,EAAWL,IAAc,CACtE,MAAME,EAAW,uBAAuBF,KAAcC,IACtDH,EAAWpZ,MAAMuW,YAAYiD,EAAU5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K,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,OAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,OACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,IAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAcN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,KAAM,MACP,CAAC,KAAM,MAGP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KA0CN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KAGN,CAAC,IAAK,MACN,CAAC,IAAK,MAWN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KAGP,CAAC,KAAM,KACP,CAAC,KAAM,KAGP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OACN,CAAC,IAAK,OAGN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KAGN,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,KAAM,KACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,MACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IA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","sources":["webpack:///webpack/runtime/load script","webpack:///../node_modules/anchor-js/anchor.js","webpack:///../node_modules/lodash.deburr/index.js","webpack:///../node_modules/jsx-dom/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///../node_modules/preact/dist/preact.module.js","webpack:///../node_modules/preact/hooks/dist/hooks.module.js","webpack:///./subthemes/Subtheme.ts","webpack:///./subthemes/rouge_themes/createRougeTheme.ts","webpack:///./subthemes/rouge_themes/default.rouge.ts","webpack:///./subthemes/rouge_themes/monokai.rouge.ts","webpack:///./subthemes/rouge_themes/index.ts","webpack:///./subthemes/createSubtheme.ts","webpack:///./subthemes/definitions/common_dark_theme_colors.ts","webpack:///./subthemes/definitions/default.theme.ts","webpack:///./subthemes/definitions/bella.theme.ts","webpack:///./subthemes/definitions/modern.theme.ts","webpack:///./subthemes/definitions/xcode_civic.theme.ts","webpack:///./subthemes/RegisteredSubthemes.ts","webpack:///./utils/Storage.ts","webpack:///./components/main_content/enhanced_code_blocks/codeblockConsts.ts","webpack:///./Config.ts","webpack:///./subthemes/index.ts","webpack:///./utils/hooks/print.ts","webpack:///./utils/isSmallScreen.ts","webpack:///../node_modules/clsx/dist/clsx.m.js","webpack:///./components/main_content/useTaskListCheckboxes.ts","webpack:///../node_modules/escape-string-regexp/index.js","webpack:///../node_modules/@sindresorhus/transliterate/replacements.js","webpack:///../node_modules/@sindresorhus/slugify/overridable-replacements.js","webpack:///../node_modules/@sindresorhus/slugify/index.js","webpack:///../node_modules/@sindresorhus/transliterate/index.js","webpack:///./components/main_content/enhanced_code_blocks/parseCodeHighlightRanges.ts","webpack:///./components/main_content/enhanced_code_blocks/genCopyButton.tsx","webpack:///./components/main_content/enhanced_code_blocks/createEnhancedCodeBlock.tsx","webpack:///./components/main_content/enhanced_code_blocks/useEnhancedCodeBlocks.tsx","webpack:///./components/main_content/useMermaidDiagrams.tsx","webpack:///./components/main_content/useTooltippedAbbreviations.tsx","webpack:///./utils/hooks/usePrefersDarkMode.ts","webpack:///./components/main_content/index.tsx","webpack:///./utils/hooks/useWindowLoaded.ts","webpack:///./components/settings/ThemePreview.tsx","webpack:///./components/settings/index.tsx","webpack:///./components/common/IconType.ts","webpack:///./components/common/Hoverable.tsx","webpack:///./components/common/InlineNavButton.tsx","webpack:///./components/common/InlineButton.tsx","webpack:///./components/common/openExternalLink.ts","webpack:///./components/sidebar/table_of_contents/unflattenHeadings.ts","webpack:///./components/sidebar/table_of_contents/elevateHeadingSectionLevels.ts","webpack:///./components/sidebar/table_of_contents/TableOfContents.tsx","webpack:///./components/sidebar/SidebarContent.tsx","webpack:///./components/sidebar/getSitemapName.ts","webpack:///./components/sidebar/ResizeHandle.tsx","webpack:///./components/sidebar/index.tsx","webpack:///./components/sidebar/getSitemapUrls.ts","webpack:///./components/Topbar.tsx","webpack:///./components/PrimerSpec.tsx","webpack:///./utils/hooks/useSmallScreen.ts","webpack:///./utils/getChromeVersion.ts","webpack:///./main.tsx"],"sourcesContent":["var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/* eslint-env amd */\n/* globals module:false */\n\n// https://github.com/umdjs/umd/blob/master/templates/returnExports.js\n(function (root, factory) {\n 'use strict';\n\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.AnchorJS = factory();\n root.anchors = new root.AnchorJS();\n }\n}(this, function () {\n 'use strict';\n\n function AnchorJS(options) {\n this.options = options || {};\n this.elements = [];\n\n /**\n * Assigns options to the internal options object, and provides defaults.\n * @param {Object} opts - Options object\n */\n function _applyRemainingDefaultOptions(opts) {\n opts.icon = Object.prototype.hasOwnProperty.call(opts, 'icon') ? opts.icon : '\\uE9CB'; // Accepts characters (and also URLs?), like '#', '¶', '❡', or '§'.\n opts.visible = Object.prototype.hasOwnProperty.call(opts, 'visible') ? opts.visible : 'hover'; // Also accepts 'always' & 'touch'\n opts.placement = Object.prototype.hasOwnProperty.call(opts, 'placement') ? opts.placement : 'right'; // Also accepts 'left'\n opts.ariaLabel = Object.prototype.hasOwnProperty.call(opts, 'ariaLabel') ? opts.ariaLabel : 'Anchor'; // Accepts any text.\n opts.class = Object.prototype.hasOwnProperty.call(opts, 'class') ? opts.class : ''; // Accepts any class name.\n opts.base = Object.prototype.hasOwnProperty.call(opts, 'base') ? opts.base : ''; // Accepts any base URI.\n // Using Math.floor here will ensure the value is Number-cast and an integer.\n opts.truncate = Object.prototype.hasOwnProperty.call(opts, 'truncate') ? Math.floor(opts.truncate) : 64; // Accepts any value that can be typecast to a number.\n opts.titleText = Object.prototype.hasOwnProperty.call(opts, 'titleText') ? opts.titleText : ''; // Accepts any text.\n }\n\n _applyRemainingDefaultOptions(this.options);\n\n /**\n * Checks to see if this device supports touch. Uses criteria pulled from Modernizr:\n * https://github.com/Modernizr/Modernizr/blob/da22eb27631fc4957f67607fe6042e85c0a84656/feature-detects/touchevents.js#L40\n * @return {Boolean} - true if the current device supports touch.\n */\n this.isTouchDevice = function() {\n return Boolean('ontouchstart' in window || window.TouchEvent || window.DocumentTouch && document instanceof DocumentTouch);\n };\n\n /**\n * Add anchor links to page elements.\n * @param {String|Array|Nodelist} selector - A CSS selector for targeting the elements you wish to add anchor links\n * to. Also accepts an array or nodeList containing the relavant elements.\n * @return {this} - The AnchorJS object\n */\n this.add = function(selector) {\n var elements,\n elsWithIds,\n idList,\n elementID,\n i,\n index,\n count,\n tidyText,\n newTidyText,\n anchor,\n visibleOptionToUse,\n hrefBase,\n indexesToDrop = [];\n\n // We reapply options here because somebody may have overwritten the default options object when setting options.\n // For example, this overwrites all options but visible:\n //\n // anchors.options = { visible: 'always'; }\n _applyRemainingDefaultOptions(this.options);\n\n visibleOptionToUse = this.options.visible;\n if (visibleOptionToUse === 'touch') {\n visibleOptionToUse = this.isTouchDevice() ? 'always' : 'hover';\n }\n\n // Provide a sensible default selector, if none is given.\n if (!selector) {\n selector = 'h2, h3, h4, h5, h6';\n }\n\n elements = _getElements(selector);\n\n if (elements.length === 0) {\n return this;\n }\n\n _addBaselineStyles();\n\n // We produce a list of existing IDs so we don't generate a duplicate.\n elsWithIds = document.querySelectorAll('[id]');\n idList = [].map.call(elsWithIds, function(el) {\n return el.id;\n });\n\n for (i = 0; i < elements.length; i++) {\n if (this.hasAnchorJSLink(elements[i])) {\n indexesToDrop.push(i);\n continue;\n }\n\n if (elements[i].hasAttribute('id')) {\n elementID = elements[i].getAttribute('id');\n } else if (elements[i].hasAttribute('data-anchor-id')) {\n elementID = elements[i].getAttribute('data-anchor-id');\n } else {\n tidyText = this.urlify(elements[i].textContent);\n\n // Compare our generated ID to existing IDs (and increment it if needed)\n // before we add it to the page.\n newTidyText = tidyText;\n count = 0;\n do {\n if (index !== undefined) {\n newTidyText = tidyText + '-' + count;\n }\n\n index = idList.indexOf(newTidyText);\n count += 1;\n } while (index !== -1);\n\n index = undefined;\n idList.push(newTidyText);\n\n elements[i].setAttribute('id', newTidyText);\n elementID = newTidyText;\n }\n\n // The following code efficiently builds this DOM structure:\n // `\n // ;`\n anchor = document.createElement('a');\n anchor.className = 'anchorjs-link ' + this.options.class;\n anchor.setAttribute('aria-label', this.options.ariaLabel);\n anchor.setAttribute('data-anchorjs-icon', this.options.icon);\n if (this.options.titleText) {\n anchor.title = this.options.titleText;\n }\n\n // Adjust the href if there's a tag. See https://github.com/bryanbraun/anchorjs/issues/98\n hrefBase = document.querySelector('base') ? window.location.pathname + window.location.search : '';\n hrefBase = this.options.base || hrefBase;\n anchor.href = hrefBase + '#' + elementID;\n\n if (visibleOptionToUse === 'always') {\n anchor.style.opacity = '1';\n }\n\n if (this.options.icon === '\\uE9CB') {\n anchor.style.font = '1em/1 anchorjs-icons';\n\n // We set lineHeight = 1 here because the `anchorjs-icons` font family could otherwise affect the\n // height of the heading. This isn't the case for icons with `placement: left`, so we restore\n // line-height: inherit in that case, ensuring they remain positioned correctly. For more info,\n // see https://github.com/bryanbraun/anchorjs/issues/39.\n if (this.options.placement === 'left') {\n anchor.style.lineHeight = 'inherit';\n }\n }\n\n if (this.options.placement === 'left') {\n anchor.style.position = 'absolute';\n anchor.style.marginLeft = '-1em';\n anchor.style.paddingRight = '.5em';\n elements[i].insertBefore(anchor, elements[i].firstChild);\n } else { // if the option provided is `right` (or anything else).\n anchor.style.paddingLeft = '.375em';\n elements[i].appendChild(anchor);\n }\n }\n\n for (i = 0; i < indexesToDrop.length; i++) {\n elements.splice(indexesToDrop[i] - i, 1);\n }\n\n this.elements = this.elements.concat(elements);\n\n return this;\n };\n\n /**\n * Removes all anchorjs-links from elements targeted by the selector.\n * @param {String|Array|Nodelist} selector - A CSS selector string targeting elements with anchor links,\n * OR a nodeList / array containing the DOM elements.\n * @return {this} - The AnchorJS object\n */\n this.remove = function(selector) {\n var index,\n domAnchor,\n elements = _getElements(selector);\n\n for (var i = 0; i < elements.length; i++) {\n domAnchor = elements[i].querySelector('.anchorjs-link');\n if (domAnchor) {\n // Drop the element from our main list, if it's in there.\n index = this.elements.indexOf(elements[i]);\n if (index !== -1) {\n this.elements.splice(index, 1);\n }\n\n // Remove the anchor from the DOM.\n elements[i].removeChild(domAnchor);\n }\n }\n\n return this;\n };\n\n /**\n * Removes all anchorjs links. Mostly used for tests.\n */\n this.removeAll = function() {\n this.remove(this.elements);\n };\n\n /**\n * Urlify - Refine text so it makes a good ID.\n *\n * To do this, we remove apostrophes, replace non-safe characters with hyphens,\n * remove extra hyphens, truncate, trim hyphens, and make lowercase.\n *\n * @param {String} text - Any text. Usually pulled from the webpage element we are linking to.\n * @return {String} - hyphen-delimited text for use in IDs and URLs.\n */\n this.urlify = function(text) {\n // Decode HTML characters such as ' ' first.\n var textareaElement = document.createElement('textarea');\n textareaElement.innerHTML = text;\n text = textareaElement.value;\n\n // Regex for finding the non-safe URL characters (many need escaping):\n // & +$,:;=?@\"#{}|^~[`%!'<>]./()*\\ (newlines, tabs, backspace, vertical tabs, and non-breaking space)\n var nonsafeChars = /[& +$,:;=?@\"#{}|^~[`%!'<>\\]./()*\\\\\\n\\t\\b\\v\\u00A0]/g;\n\n // The reason we include this _applyRemainingDefaultOptions is so urlify can be called independently,\n // even after setting options. This can be useful for tests or other applications.\n if (!this.options.truncate) {\n _applyRemainingDefaultOptions(this.options);\n }\n\n // Note: we trim hyphens after truncating because truncating can cause dangling hyphens.\n // Example string: // \" ⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean.\"\n return text.trim() // \"⚡⚡ Don't forget: URL fragments should be i18n-friendly, hyphenated, short, and clean.\"\n .replace(/'/gi, '') // \"⚡⚡ Dont forget: URL fragments should be i18n-friendly, hyphenated, short, and clean.\"\n .replace(nonsafeChars, '-') // \"⚡⚡-Dont-forget--URL-fragments-should-be-i18n-friendly--hyphenated--short--and-clean-\"\n .replace(/-{2,}/g, '-') // \"⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-short-and-clean-\"\n .substring(0, this.options.truncate) // \"⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated-\"\n .replace(/^-+|-+$/gm, '') // \"⚡⚡-Dont-forget-URL-fragments-should-be-i18n-friendly-hyphenated\"\n .toLowerCase(); // \"⚡⚡-dont-forget-url-fragments-should-be-i18n-friendly-hyphenated\"\n };\n\n /**\n * Determines if this element already has an AnchorJS link on it.\n * Uses this technique: https://stackoverflow.com/a/5898748/1154642\n * @param {HTMLElement} el - a DOM node\n * @return {Boolean} true/false\n */\n this.hasAnchorJSLink = function(el) {\n var hasLeftAnchor = el.firstChild && (' ' + el.firstChild.className + ' ').indexOf(' anchorjs-link ') > -1,\n hasRightAnchor = el.lastChild && (' ' + el.lastChild.className + ' ').indexOf(' anchorjs-link ') > -1;\n\n return hasLeftAnchor || hasRightAnchor || false;\n };\n\n /**\n * Turns a selector, nodeList, or array of elements into an array of elements (so we can use array methods).\n * It also throws errors on any other inputs. Used to handle inputs to .add and .remove.\n * @param {String|Array|Nodelist} input - A CSS selector string targeting elements with anchor links,\n * OR a nodeList / array containing the DOM elements.\n * @return {Array} - An array containing the elements we want.\n */\n function _getElements(input) {\n var elements;\n if (typeof input === 'string' || input instanceof String) {\n // See https://davidwalsh.name/nodelist-array for the technique transforming nodeList -> Array.\n elements = [].slice.call(document.querySelectorAll(input));\n // I checked the 'input instanceof NodeList' test in IE9 and modern browsers and it worked for me.\n } else if (Array.isArray(input) || input instanceof NodeList) {\n elements = [].slice.call(input);\n } else {\n throw new TypeError('The selector provided to AnchorJS was invalid.');\n }\n\n return elements;\n }\n\n /**\n * _addBaselineStyles\n * Adds baseline styles to the page, used by all AnchorJS links irregardless of configuration.\n */\n function _addBaselineStyles() {\n // We don't want to add global baseline styles if they've been added before.\n if (document.head.querySelector('style.anchorjs') !== null) {\n return;\n }\n\n var style = document.createElement('style'),\n linkRule =\n '.anchorjs-link{' +\n 'opacity:0;' +\n 'text-decoration:none;' +\n '-webkit-font-smoothing:antialiased;' +\n '-moz-osx-font-smoothing:grayscale' +\n '}',\n hoverRule =\n ':hover>.anchorjs-link,' +\n '.anchorjs-link:focus{' +\n 'opacity:1' +\n '}',\n anchorjsLinkFontFace =\n '@font-face{' +\n 'font-family:anchorjs-icons;' + // Icon from icomoon; 10px wide & 10px tall; 2 empty below & 4 above\n 'src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format(\"truetype\")' +\n '}',\n pseudoElContent =\n '[data-anchorjs-icon]::after{' +\n 'content:attr(data-anchorjs-icon)' +\n '}',\n firstStyleEl;\n\n style.className = 'anchorjs';\n style.appendChild(document.createTextNode('')); // Necessary for Webkit.\n\n // We place it in the head with the other style tags, if possible, so as to\n // not look out of place. We insert before the others so these styles can be\n // overridden if necessary.\n firstStyleEl = document.head.querySelector('[rel=\"stylesheet\"],style');\n if (firstStyleEl === undefined) {\n document.head.appendChild(style);\n } else {\n document.head.insertBefore(style, firstStyleEl);\n }\n\n style.sheet.insertRule(linkRule, style.sheet.cssRules.length);\n style.sheet.insertRule(hoverRule, style.sheet.cssRules.length);\n style.sheet.insertRule(pseudoElContent, style.sheet.cssRules.length);\n style.sheet.insertRule(anchorjsLinkFontFace, style.sheet.cssRules.length);\n }\n }\n\n return AnchorJS;\n}));\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe23',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20f0';\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 'ss'\n};\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/* eslint-disable */\nconst keys = Object.keys\nfunction identity(value) {\n return value\n}\nfunction isBoolean(val) {\n return typeof val === \"boolean\"\n}\nfunction isElement(val) {\n return val && typeof val.nodeType === \"number\"\n}\nfunction isString(val) {\n return typeof val === \"string\"\n}\nfunction isNumber(val) {\n return typeof val === \"number\"\n}\nfunction isObject(val) {\n return typeof val === \"object\" ? val !== null : isFunction(val)\n}\nfunction isFunction(val) {\n return typeof val === \"function\"\n}\nfunction isComponentClass(Component) {\n const { prototype } = Component\n return !!(prototype && prototype.isReactComponent)\n}\nfunction isArrayLike(obj) {\n return isObject(obj) && typeof obj.length === \"number\" && typeof obj.nodeType !== \"number\"\n}\nfunction forEach(value, fn) {\n if (!value) return\n\n for (const key of keys(value)) {\n fn(value[key], key)\n }\n}\n\nfunction createRef() {\n return Object.seal({\n current: null,\n })\n}\nfunction isRef(maybeRef) {\n return isObject(maybeRef) && \"current\" in maybeRef\n}\n\nconst isUnitlessNumber = {\n animationIterationCount: 0,\n borderImageOutset: 0,\n borderImageSlice: 0,\n borderImageWidth: 0,\n boxFlex: 0,\n boxFlexGroup: 0,\n boxOrdinalGroup: 0,\n columnCount: 0,\n columns: 0,\n flex: 0,\n flexGrow: 0,\n flexPositive: 0,\n flexShrink: 0,\n flexNegative: 0,\n flexOrder: 0,\n gridArea: 0,\n gridRow: 0,\n gridRowEnd: 0,\n gridRowSpan: 0,\n gridRowStart: 0,\n gridColumn: 0,\n gridColumnEnd: 0,\n gridColumnSpan: 0,\n gridColumnStart: 0,\n fontWeight: 0,\n lineClamp: 0,\n lineHeight: 0,\n opacity: 0,\n order: 0,\n orphans: 0,\n tabSize: 0,\n widows: 0,\n zIndex: 0,\n zoom: 0,\n fillOpacity: 0,\n floodOpacity: 0,\n stopOpacity: 0,\n strokeDasharray: 0,\n strokeDashoffset: 0,\n strokeMiterlimit: 0,\n strokeOpacity: 0,\n strokeWidth: 0,\n}\n\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1)\n}\n\nconst prefixes = [\"Webkit\", \"ms\", \"Moz\", \"O\"]\nkeys(isUnitlessNumber).forEach(prop => {\n prefixes.forEach(prefix => {\n isUnitlessNumber[prefixKey(prefix, prop)] = 0\n })\n})\n\nconst SVGNamespace = \"http://www.w3.org/2000/svg\"\nconst XLinkNamespace = \"http://www.w3.org/1999/xlink\"\nconst XMLNamespace = \"http://www.w3.org/XML/1998/namespace\"\n\nfunction isVisibleChild(value) {\n return !isBoolean(value) && value != null\n}\n\nfunction className(value) {\n if (Array.isArray(value)) {\n return value.map(className).filter(Boolean).join(\" \")\n } else if (isObject(value)) {\n return keys(value)\n .filter(k => value[k])\n .join(\" \")\n } else if (isVisibleChild(value)) {\n return \"\" + value\n } else {\n return \"\"\n }\n}\nconst svg = {\n animate: 0,\n circle: 0,\n clipPath: 0,\n defs: 0,\n desc: 0,\n ellipse: 0,\n feBlend: 0,\n feColorMatrix: 0,\n feComponentTransfer: 0,\n feComposite: 0,\n feConvolveMatrix: 0,\n feDiffuseLighting: 0,\n feDisplacementMap: 0,\n feDistantLight: 0,\n feFlood: 0,\n feFuncA: 0,\n feFuncB: 0,\n feFuncG: 0,\n feFuncR: 0,\n feGaussianBlur: 0,\n feImage: 0,\n feMerge: 0,\n feMergeNode: 0,\n feMorphology: 0,\n feOffset: 0,\n fePointLight: 0,\n feSpecularLighting: 0,\n feSpotLight: 0,\n feTile: 0,\n feTurbulence: 0,\n filter: 0,\n foreignObject: 0,\n g: 0,\n image: 0,\n line: 0,\n linearGradient: 0,\n marker: 0,\n mask: 0,\n metadata: 0,\n path: 0,\n pattern: 0,\n polygon: 0,\n polyline: 0,\n radialGradient: 0,\n rect: 0,\n stop: 0,\n svg: 0,\n switch: 0,\n symbol: 0,\n text: 0,\n textPath: 0,\n tspan: 0,\n use: 0,\n view: 0,\n}\nconst nonPresentationSVGAttributes =\n /^(a(ll|t|u)|base[FP]|c(al|lipPathU|on)|di|ed|ex|filter[RU]|g(lyphR|r)|ke|l(en|im)|ma(rker[HUW]|s)|n|pat|pr|point[^e]|re[^n]|s[puy]|st[^or]|ta|textL|vi|xC|y|z)/\nfunction createFactory(tag) {\n return createElement.bind(null, tag)\n}\nfunction Fragment(attr) {\n const fragment = document.createDocumentFragment()\n appendChild(attr.children, fragment)\n return fragment\n}\nclass Component {\n constructor(props) {\n this.props = props\n }\n\n render() {\n return null\n }\n}\nObject.defineProperties(Component.prototype, {\n isReactComponent: {\n value: true,\n },\n})\n\nfunction initComponentClass(Class, attr, children) {\n attr = { ...attr, children }\n const instance = new Class(attr)\n return instance.render()\n}\n\nfunction jsx(tag, { children, ...attr }) {\n if (!attr.namespaceURI && svg[tag] === 0) {\n attr = { ...attr, namespaceURI: SVGNamespace }\n }\n\n let node\n\n if (isString(tag)) {\n node = attr.namespaceURI\n ? document.createElementNS(attr.namespaceURI, tag)\n : document.createElement(tag)\n attributes(attr, node)\n appendChild(children, node)\n\n if (node instanceof window.HTMLSelectElement && attr.value != null) {\n if (attr.multiple === true && Array.isArray(attr.value)) {\n const values = attr.value.map(value => String(value))\n node\n .querySelectorAll(\"option\")\n .forEach(option => (option.selected = values.includes(option.value)))\n } else {\n node.value = attr.value\n }\n }\n\n if (isRef(attr.ref)) {\n attr.ref.current = node\n } else if (isFunction(attr.ref)) {\n attr.ref(node)\n }\n } else if (isFunction(tag)) {\n if (isObject(tag.defaultProps)) {\n attr = { ...tag.defaultProps, ...attr }\n }\n\n node = isComponentClass(tag)\n ? initComponentClass(tag, attr, children)\n : tag({ ...attr, children })\n }\n\n return node\n}\nfunction createElement(tag, attr, ...children) {\n if (isString(attr) || Array.isArray(attr)) {\n children.unshift(attr)\n attr = {}\n }\n\n attr = attr || {}\n\n if (attr.children != null && !children.length) {\n ;({ children, ...attr } = attr)\n }\n\n return jsx(tag, { ...attr, children }, attr.key)\n}\n\nfunction appendChild(child, node) {\n if (isArrayLike(child)) {\n appendChildren(child, node)\n } else if (isString(child) || isNumber(child)) {\n appendChildToNode(document.createTextNode(child), node)\n } else if (child === null) {\n appendChildToNode(document.createComment(\"\"), node)\n } else if (isElement(child)) {\n appendChildToNode(child, node)\n }\n}\n\nfunction appendChildren(children, node) {\n for (const child of [...children]) {\n appendChild(child, node)\n }\n\n return node\n}\n\nfunction appendChildToNode(child, node) {\n if (node instanceof window.HTMLTemplateElement) {\n node.content.appendChild(child)\n } else {\n node.appendChild(child)\n }\n}\n\nfunction normalizeAttribute(s, separator) {\n return s.replace(/[A-Z\\d]/g, match => separator + match.toLowerCase())\n}\n\nfunction style(node, value) {\n if (value == null || value === false);\n else if (Array.isArray(value)) {\n value.forEach(v => style(node, v))\n } else if (isString(value)) {\n node.setAttribute(\"style\", value)\n } else if (isObject(value)) {\n forEach(value, (val, key) => {\n if (isNumber(val) && isUnitlessNumber[key] !== 0) {\n node.style[key] = val + \"px\"\n } else {\n node.style[key] = val\n }\n })\n }\n}\n\nfunction attribute(key, value, node) {\n switch (key) {\n case \"xlinkActuate\":\n case \"xlinkArcrole\":\n case \"xlinkHref\":\n case \"xlinkRole\":\n case \"xlinkShow\":\n case \"xlinkTitle\":\n case \"xlinkType\":\n attrNS(node, XLinkNamespace, normalizeAttribute(key, \":\"), value)\n return\n\n case \"xmlnsXlink\":\n attr(node, normalizeAttribute(key, \":\"), value)\n return\n\n case \"xmlBase\":\n case \"xmlLang\":\n case \"xmlSpace\":\n attrNS(node, XMLNamespace, normalizeAttribute(key, \":\"), value)\n return\n }\n\n switch (key) {\n case \"htmlFor\":\n attr(node, \"for\", value)\n return\n\n case \"dataset\":\n forEach(value, (dataValue, dataKey) => {\n if (dataValue != null) {\n node.dataset[dataKey] = dataValue\n }\n })\n return\n\n case \"innerHTML\":\n case \"innerText\":\n case \"textContent\":\n if (isVisibleChild(value)) {\n node[key] = value\n }\n\n return\n\n case \"dangerouslySetInnerHTML\":\n if (isObject(value)) {\n node.innerHTML = value[\"__html\"]\n }\n\n return\n\n case \"value\":\n if (value == null || node instanceof window.HTMLSelectElement) {\n return\n } else if (node instanceof window.HTMLTextAreaElement) {\n node.value = value\n return\n }\n\n break\n\n case \"spellCheck\":\n node.spellcheck = value\n return\n\n case \"class\":\n case \"className\":\n if (isFunction(value)) {\n value(node)\n } else {\n attr(node, \"class\", className(value))\n }\n\n return\n\n case \"ref\":\n case \"namespaceURI\":\n return\n\n case \"style\":\n style(node, value)\n return\n }\n\n if (isFunction(value)) {\n if (key[0] === \"o\" && key[1] === \"n\") {\n const attribute = key.toLowerCase()\n\n if (node[attribute] == null) {\n node[attribute] = value\n } else {\n node.addEventListener(key, value)\n }\n }\n } else if (isObject(value)) {\n node[key] = value\n } else if (value === true) {\n attr(node, key, \"\")\n } else if (value !== false && value != null) {\n if (node instanceof SVGElement && !nonPresentationSVGAttributes.test(key)) {\n attr(node, normalizeAttribute(key, \"-\"), value)\n } else {\n attr(node, key, value)\n }\n }\n}\n\nfunction attr(node, key, value) {\n node.setAttribute(key, value)\n}\n\nfunction attrNS(node, namespace, key, value) {\n node.setAttributeNS(namespace, key, value)\n}\n\nfunction attributes(attr, node) {\n for (const key of keys(attr)) {\n attribute(key, attr[key], node)\n }\n\n return node\n}\n\nfunction useText(initialValue) {\n const text = new Text()\n Object.defineProperty(text, \"toString\", {\n value() {\n return this.textContent\n },\n })\n\n function setText(value) {\n text.textContent = value\n }\n\n if (initialValue != null) {\n setText(initialValue)\n }\n\n return [text, setText]\n}\nfunction useClassList(initialValue) {\n const div = document.createElement(\"div\")\n\n if (initialValue != null) {\n div.className = className(initialValue)\n }\n\n let list = div.classList\n\n function ClassList(value) {\n value.setAttribute(\"class\", list.value)\n list = value.classList\n }\n\n Object.defineProperties(\n ClassList,\n Object.getOwnPropertyDescriptors({\n get size() {\n return list.length\n },\n\n get value() {\n return list.value\n },\n\n add(...tokens) {\n list.add(...tokens)\n },\n\n remove(...tokens) {\n list.remove(...tokens)\n },\n\n toggle(token, force) {\n list.toggle(token, force)\n },\n\n contains(token) {\n return list.contains(token)\n },\n })\n )\n return ClassList\n}\n\nfunction useMemo(factory) {\n return factory()\n}\n\nconst cache = new Map()\n\nconst createStyledComponent =\n name =>\n (list, ...interpolations) =>\n ({ style, ...props }) => {\n const lastIndex = list.length - 1\n const css =\n list.slice(0, lastIndex).reduce((p, s, i) => p + s + interpolations[i](props), \"\") +\n list[lastIndex]\n return createElement(name, {\n style: [css, style],\n ...props,\n })\n }\n\nconst baseStyled = customComponent => createStyledComponent(customComponent)\n\nconst styled = new Proxy(baseStyled, {\n get(_, name) {\n return setIfAbsent(cache, name, () => createStyledComponent(name))\n },\n})\n\nfunction setIfAbsent(map, key, getValue) {\n if (map.has(key)) {\n return map.get(key)\n } else {\n const value = getValue(key)\n map.set(key, value)\n return value\n }\n}\n\nvar index = {\n Component,\n PureComponent: Component,\n createElement,\n Fragment,\n}\nfunction preventDefault(event) {\n event.preventDefault()\n return event\n}\nfunction stopPropagation(event) {\n event.stopPropagation()\n return event\n}\n\nexport {\n Component,\n Fragment,\n Component as PureComponent,\n SVGNamespace,\n Fragment as StrictMode,\n className,\n createElement,\n createFactory,\n createRef,\n index as default,\n createElement as h,\n isRef,\n jsx,\n jsx as jsxs,\n identity as memo,\n preventDefault,\n stopPropagation,\n styled,\n identity as useCallback,\n useClassList,\n useMemo,\n createRef as useRef,\n useText,\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".primer_spec_plugin.min.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","var n,l,u,i,t,r,o,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,r,o,f={};for(o in u)\"key\"==o?t=u[o]:\"ref\"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return y(l,f,t,r,null)}function y(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u:o};return null==o&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,r||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],r=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","import{options as n}from\"preact\";var t,u,r,o=0,i=[],c=n.__b,f=n.__r,e=n.diffed,a=n.__c,v=n.unmount;function m(t,r){n.__h&&n.__h(u,t,o||r),o=0;var i=u.__H||(u.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({}),i.__[t]}function l(n){return o=1,p(w,n)}function p(n,r,o){var i=m(t++,2);return i.t=n,i.__c||(i.__=[o?o(r):w(void 0,r),function(n){var t=i.t(i.__[0],n);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=u),i.__}function y(r,o){var i=m(t++,3);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__H.__h.push(i))}function h(r,o){var i=m(t++,4);!n.__s&&k(i.__H,o)&&(i.__=r,i.__H=o,u.__h.push(i))}function s(n){return o=5,d(function(){return{current:n}},[])}function _(n,t,u){o=6,h(function(){\"function\"==typeof n?n(t()):n&&(n.current=t())},null==u?u:u.concat(n))}function d(n,u){var r=m(t++,7);return k(r.__H,u)&&(r.__=n(),r.__H=u,r.__h=n),r.__}function A(n,t){return o=8,d(function(){return n},t)}function F(n){var r=u.context[n.__c],o=m(t++,9);return o.c=n,r?(null==o.__&&(o.__=!0,r.sub(u)),r.props.value):n.__}function T(t,u){n.useDebugValue&&n.useDebugValue(u?u(t):t)}function q(n){var r=m(t++,10),o=l();return r.__=n,u.componentDidCatch||(u.componentDidCatch=function(n){r.__&&r.__(n),o[1](n)}),[o[0],function(){o[1](void 0)}]}function x(){for(var t;t=i.shift();)if(t.__P)try{t.__H.__h.forEach(g),t.__H.__h.forEach(j),t.__H.__h=[]}catch(u){t.__H.__h=[],n.__e(u,t.__v)}}n.__b=function(n){u=null,c&&c(n)},n.__r=function(n){f&&f(n),t=0;var r=(u=n.__c).__H;r&&(r.__h.forEach(g),r.__h.forEach(j),r.__h=[])},n.diffed=function(t){e&&e(t);var o=t.__c;o&&o.__H&&o.__H.__h.length&&(1!==i.push(o)&&r===n.requestAnimationFrame||((r=n.requestAnimationFrame)||function(n){var t,u=function(){clearTimeout(r),b&&cancelAnimationFrame(t),setTimeout(n)},r=setTimeout(u,100);b&&(t=requestAnimationFrame(u))})(x)),u=null},n.__c=function(t,u){u.some(function(t){try{t.__h.forEach(g),t.__h=t.__h.filter(function(n){return!n.__||j(n)})}catch(r){u.some(function(n){n.__h&&(n.__h=[])}),u=[],n.__e(r,t.__v)}}),a&&a(t,u)},n.unmount=function(t){v&&v(t);var u,r=t.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{g(n)}catch(n){u=n}}),u&&n.__e(u,r.__v))};var b=\"function\"==typeof requestAnimationFrame;function g(n){var t=u,r=n.__c;\"function\"==typeof r&&(n.__c=void 0,r()),u=t}function j(n){var t=u;n.__c=n.__(),u=t}function k(n,t){return!n||n.length!==t.length||t.some(function(t,u){return t!==n[u]})}function w(n,t){return\"function\"==typeof t?t(n):t}export{l as useState,p as useReducer,y as useEffect,h as useLayoutEffect,s as useRef,_ as useImperativeHandle,d as useMemo,A as useCallback,F as useContext,T as useDebugValue,q as useErrorBoundary};\n//# sourceMappingURL=hooks.module.js.map\n","export const SUBTHEME_VARS = [\n '--sidebar-bg-color',\n '--sidebar-border-color',\n '--sidebar-heading-text-color',\n '--sidebar-heading-link-color',\n '--sidebar-toc-h1-link-color',\n '--sidebar-toc-h1-border-color',\n '--sidebar-toc-h2-link-color',\n '--sidebar-active-toc-section-bg-color',\n '--sidebar-active-toc-section-link-color',\n '--sidebar-active-toc-h1-section-link-color',\n '--sidebar-active-toc-h2-section-link-color',\n '--sidebar-toc-section-link-color',\n '--sidebar-tt-active-text-color',\n '--sidebar-tt-active-bg-color',\n '--sidebar-tt-active-border',\n '--sidebar-tt-active-border-radius',\n '--sidebar-resize-handle',\n '--main-heading-text-color',\n '--main-heading-link-color',\n '--main-link-color',\n '--hoverable-link-hover-color',\n '--main-header-border-bottom-color',\n '--main-image-border-color',\n '--main-image-border-color-inverted',\n '--tt-text-color',\n '--tt-bg-color',\n '--tt-border',\n '--tt-border-radius',\n '--main-bg-color',\n '--main-text-color',\n '--main-table-bg-color',\n '--main-table-bg-contrast-color',\n '--main-table-pre-bg-color',\n '--main-table-pre-text-color',\n '--main-table-pre-border',\n '--main-blockquote-text-color',\n '--main-blockquote-text-border',\n '--main-header-border-bottom-color',\n '--primer-spec-callout-neutral-bg-color',\n '--primer-spec-callout-neutral-text-color',\n '--primer-spec-callout-neutral-border-color',\n '--primer-spec-callout-info-bg-color',\n '--primer-spec-callout-info-text-color',\n '--primer-spec-callout-info-border-color',\n '--primer-spec-callout-info-icon-color',\n '--primer-spec-callout-warning-bg-color',\n '--primer-spec-callout-warning-text-color',\n '--primer-spec-callout-warning-border-color',\n '--primer-spec-callout-warning-icon-color',\n '--primer-spec-callout-danger-bg-color',\n '--primer-spec-callout-danger-text-color',\n '--primer-spec-callout-danger-border-color',\n '--primer-spec-callout-danger-icon-color',\n '--primer-spec-callout-success-bg-color',\n '--primer-spec-callout-success-text-color',\n '--primer-spec-callout-success-border-color',\n '--primer-spec-callout-success-icon-color',\n '--code-block-default-color',\n '--code-block-border-color',\n '--code-block-header-bg-color',\n '--code-block-bg-color',\n '--code-block-line-number-color',\n '--code-block-highlight-bg-color',\n '--code-block-highlight-shadow-color',\n '--code-block-button-color',\n '--code-block-button-bg-color',\n '--code-block-button-border-color',\n '--code-block-button-shadow',\n '--code-block-button-shadow-inset-color',\n '--code-block-button-hover-bg-color',\n '--code-block-button-hover-border-color',\n '--tooltip-background-color',\n '--tooltip-color',\n '--kbd-border-color',\n];\nexport const ROUGE_STYLE_PROPS = [\n 'color',\n 'background-color',\n 'font-style',\n 'font-weight',\n];\nexport const ROUGE_CLASS_NAMES = [\n 'cm',\n 'cp',\n 'c1',\n 'cs',\n 'cd',\n 'c',\n 'err',\n 'gd',\n 'ge',\n 'gr',\n 'gh',\n 'gi',\n 'go',\n 'gp',\n 'gs',\n 'gu',\n 'gt',\n 'kc',\n 'kd',\n 'kn',\n 'kp',\n 'kr',\n 'kt',\n 'kv',\n 'k',\n 'mf',\n 'mh',\n 'il',\n 'mi',\n 'mo',\n 'mb',\n 'mx',\n 'm',\n 'sb',\n 'sc',\n 'sd',\n 's2',\n 'se',\n 'sh',\n 'si',\n 'sx',\n 'sr',\n 's1',\n 'ss',\n 's',\n 'na',\n 'bp',\n 'nb',\n 'nc',\n 'no',\n 'nd',\n 'ni',\n 'ne',\n 'nf',\n 'nl',\n 'nn',\n 'nt',\n 'nx',\n 'vc',\n 'vg',\n 'vi',\n 'nv',\n 'ow',\n 'o',\n 'w',\n 'txt',\n];\n","import { ROUGE_CLASS_NAMES, ROUGE_STYLE_PROPS, } from '../Subtheme';\nfunction apply(theme_vars) {\n const documentEl = document.documentElement;\n ROUGE_CLASS_NAMES.map((class_name) => {\n if (theme_vars[class_name]) {\n for (const [style_prop, value] of Object.entries(theme_vars[class_name])) {\n const var_name = `--primer-spec-rouge-${class_name}-${style_prop}`;\n documentEl.style.setProperty(var_name, value ?? null);\n }\n }\n });\n}\nfunction reset() {\n const documentEl = document.documentElement;\n ROUGE_CLASS_NAMES.map((class_name) => {\n ROUGE_STYLE_PROPS.map((style_prop) => {\n const var_name = `--primer-spec-rouge-${class_name}-${style_prop}`;\n documentEl.style.removeProperty(var_name);\n });\n });\n}\n/**\n * Create a Rouge (syntax highlighting) theme based on a given config\n * @param name The name of the subtheme\n * @param theme_vars The config describing this Rouge theme\n */\nexport default function createRougeTheme(name, theme_vars) {\n return {\n name,\n // TODO: Figure out why TypeScript is not able to unify RougeVarsType and\n // RougeVarsTypeInternal.\n apply: () => apply(theme_vars),\n reset,\n };\n}\n","const default_rouge_style = {\n cm: {\n // Comment::Multiline\n color: '#999988',\n 'font-style': 'italic',\n },\n cp: {\n // Comment::Preproc\n color: '#999999',\n 'font-weight': 'bold',\n },\n c1: {\n // Comment::Single\n color: '#999988',\n 'font-style': 'italic',\n },\n cs: {\n // Comment::Special\n color: '#999999',\n 'font-weight': 'bold',\n 'font-style': 'italic',\n },\n cd: {\n // Comment\n color: '#999988',\n 'font-style': 'italic',\n },\n c: {\n // Comment\n color: '#999988',\n 'font-style': 'italic',\n },\n err: {\n // Error\n color: '#a61717',\n 'background-color': '#e3d2d2',\n },\n gd: {\n // Generic::Deleted\n color: '#000000',\n 'background-color': '#ffdddd',\n },\n ge: {\n // Generic::Emph\n color: '#000000',\n 'font-style': 'italic',\n },\n gr: {\n // Generic::Error\n color: '#aa0000',\n },\n gh: {\n // Generic::Heading\n color: '#999999',\n },\n gi: {\n // Generic::Inserted\n color: '#000000',\n 'background-color': '#ddffdd',\n },\n go: {\n // Generic::Output\n color: '#888888',\n },\n gp: {\n // Generic::Prompt\n color: '#555555',\n },\n gs: {\n // Generic::Strong\n 'font-weight': 'bold',\n },\n gu: {\n // Generic::Subheading\n color: '#aaaaaa',\n },\n gt: {\n // Generic::Traceback\n color: '#aa0000',\n },\n kc: {\n // Keyword::Constant\n color: '#000000',\n 'font-weight': 'bold',\n },\n kd: {\n // Keyword::Declaration\n color: '#000000',\n 'font-weight': ' bold',\n },\n kn: {\n // Keyword::Namespace\n color: '#000000',\n 'font-weight': 'bold',\n },\n kp: {\n // Keyword::Pseudo\n color: '#000000',\n 'font-weight': 'bold',\n },\n kr: {\n // Keyword::Reserved\n color: '#000000',\n 'font-weight': 'bold',\n },\n kt: {\n // Keyword::Type\n color: '#445588',\n 'font-weight': 'bold',\n },\n kv: {\n // Keyword\n color: '#000000',\n 'font-weight': 'bold',\n },\n k: {\n // Keyword\n color: '#000000',\n 'font-weight': 'bold',\n },\n mf: {\n // Literal::Number::Float\n color: '#009999',\n },\n mh: {\n // Literal::Number::Hex\n color: '#009999',\n },\n il: {\n // Literal::Number::Integer::Long\n color: '#009999',\n },\n mi: {\n // Literal::Number::Integer\n color: '#009999',\n },\n mo: {\n // Literal::Number::Oct\n color: '#009999',\n },\n mb: {\n // Literal::Number\n color: '#009999',\n },\n mx: {\n // Literal::Number\n color: '#009999',\n },\n m: {\n // Literal::Number\n color: '#009999',\n },\n sb: {\n // Literal::String::Backtick\n color: '#d14',\n },\n sc: {\n // Literal::String::Char\n color: '#d14',\n },\n sd: {\n // Literal::String::Symbol\n color: '#d14',\n },\n s2: {\n // Literal::String::Double\n color: '#d14',\n },\n se: {\n // Literal::String::Escape\n color: '#d14',\n },\n sh: {\n // Literal::String::Heredoc\n color: '#d14',\n },\n si: {\n // Literal::String::Interpol\n color: '#d14',\n },\n sx: {\n // Literal::String::Other\n color: '#d14',\n },\n sr: {\n // Literal::String::Regex\n color: '#009926',\n },\n s1: {\n // Literal::String::Single\n color: '#d14',\n },\n ss: {\n // Literal::String::Symbol\n color: '#990073',\n },\n s: {\n // Literal::String\n color: '#d14',\n },\n na: {\n // Name::Attribute\n color: '#008080',\n },\n bp: {\n // Name::Builtin::Pseudo\n color: '#999999',\n },\n nb: {\n // Name::Builtin\n color: '#0086B3',\n },\n nc: {\n // Name::Class\n color: '#445588',\n 'font-weight': 'bold',\n },\n no: {\n // Name::Constant\n color: '#008080',\n },\n nd: {\n // Name::Decorator\n color: '#3c5d5d',\n 'font-weight': 'bold',\n },\n ni: {\n // Name::Entity\n color: '#800080',\n },\n ne: {\n // Name::Exception\n color: '#990000',\n 'font-weight': 'bold',\n },\n nf: {\n // Name::Function\n color: '#990000',\n 'font-weight': 'bold',\n },\n nl: {\n // Name::Label\n color: '#990000',\n 'font-weight': 'bold',\n },\n nn: {\n // Name::Namespace\n color: '#555555',\n },\n nt: {\n // Name::Tag\n color: '#000080',\n },\n nx: {\n // Name::Other\n color: '#000000',\n },\n vc: {\n // Name::Variable::Class\n color: '#008080',\n },\n vg: {\n // Name::Variable::Global\n color: '#008080',\n },\n vi: {\n // Name::Variable::Instance\n color: '#008080',\n },\n nv: {\n // Name::Variable::Instance\n color: '#008080',\n },\n ow: {\n // Operator::Word\n color: '#000000',\n 'font-weight': 'bold',\n },\n o: {\n // Operator\n color: '#000000',\n 'font-weight': 'bold',\n },\n w: {\n // Text::Whitespace\n color: '#bbbbbb',\n },\n txt: {\n 'background-color': '#f8f8f8',\n },\n};\nexport default default_rouge_style;\n","// The styles in this file were partially generated using the command:\n// bundle exec rougify style monokai.sublime\n// Readability changes are based on the original Roguify source:\n// https://github.com/rouge-ruby/rouge/blob/184848ae363c41b7f8372791d6f4701bf601c722/lib/rouge/themes/monokai_sublime.rb\n// const black = '#000000';\nconst bright_green = '#a6e22e';\nconst bright_pink = '#f92672';\nconst carmine = '#960050';\nconst dark = '#49483e';\n// const dark_graphite = '#272822';\nconst dark_grey = '#999999';\n// const dark_red = '#aa0000';\nconst dimgrey = '#868064';\n// const emperor = '#555555';\nconst grey = '#999999';\nconst light_grey = '#aaaaaa';\nconst light_violet = '#ae81ff';\nconst soft_cyan = '#66d9ef';\nconst soft_yellow = '#e6db74';\n// const very_dark = '#1e0010';\n// const whitish = '#f8f8f2';\nconst orange = '#f6aa11';\nconst white = '#ffffff';\nconst monokai_rouge_style = {\n cm: {\n // Comment::Multiline\n color: dimgrey,\n },\n cp: {\n // Comment::Preproc\n color: light_grey,\n },\n c1: {\n // Comment::Single\n color: dimgrey,\n },\n cs: {\n // Comment::Special\n color: dimgrey,\n },\n cd: {\n // Comment\n color: dimgrey,\n },\n c: {\n // Comment\n color: dimgrey,\n },\n err: {\n // Error\n color: carmine,\n },\n gd: {\n // Generic::Deleted\n color: dark,\n },\n ge: {\n // Generic::Emph\n color: light_grey,\n 'font-style': 'italic',\n },\n gr: {\n // Generic::Error\n color: carmine,\n },\n gh: {\n // Generic::Heading\n color: grey,\n },\n gi: {\n // Generic::Inserted\n color: dark,\n },\n go: {\n // Generic::Output\n color: dark_grey,\n },\n gp: {\n // Generic::Prompt\n color: dark_grey,\n },\n gs: {\n // Generic::Strong\n 'font-weight': 'bold',\n },\n gu: {\n // Generic::Subheading\n color: light_grey,\n },\n gt: {\n // Generic::Traceback\n color: carmine,\n },\n kc: {\n // Keyword::Constant\n color: soft_cyan,\n },\n kd: {\n // Keyword::Declaration\n color: soft_cyan,\n 'font-style': 'italic',\n },\n kn: {\n // Keyword::Namespace\n color: bright_pink,\n },\n kp: {\n // Keyword::Pseudo\n color: bright_pink,\n },\n kr: {\n // Keyword::Reserved\n color: soft_cyan,\n },\n kt: {\n // Keyword::Type\n color: soft_cyan,\n 'font-style': 'italic',\n },\n kv: {\n // Keyword\n color: bright_pink,\n },\n k: {\n // Keyword\n color: bright_pink,\n },\n mf: {\n // Literal::Number::Float\n color: light_violet,\n },\n mh: {\n // Literal::Number::Hex\n color: light_violet,\n },\n il: {\n // Literal::Number::Integer::Long\n color: light_violet,\n },\n mi: {\n // Literal::Number::Integer\n color: light_violet,\n },\n mo: {\n // Literal::Number::Oct\n color: light_violet,\n },\n mb: {\n // Literal::Number\n color: light_violet,\n },\n mx: {\n // Literal::Number\n color: light_violet,\n },\n m: {\n // Literal::Number\n color: light_violet,\n },\n sb: {\n // Literal::String::Backtick\n color: soft_yellow,\n },\n sc: {\n // Literal::String::Char\n color: light_violet,\n },\n sd: {\n // Literal::String::Symbol\n color: soft_yellow,\n },\n s2: {\n // Literal::String::Double\n color: soft_yellow,\n },\n se: {\n // Literal::String::Escape\n color: light_violet,\n },\n sh: {\n // Literal::String::Heredoc\n color: soft_yellow,\n },\n si: {\n // Literal::String::Interpol\n color: soft_yellow,\n },\n sx: {\n // Literal::String::Other\n color: soft_yellow,\n },\n sr: {\n // Literal::String::Regex\n color: orange,\n },\n s1: {\n // Literal::String::Single\n color: soft_yellow,\n },\n ss: {\n // Literal::String::Symbol\n color: light_violet,\n },\n s: {\n // Literal::String\n color: soft_yellow,\n },\n na: {\n // Name::Attribute\n color: bright_green,\n },\n bp: {\n // Name::Builtin::Pseudo\n color: white,\n },\n nb: {\n // Name::Builtin\n color: orange,\n },\n nc: {\n // Name::Class\n color: bright_green,\n },\n no: {\n // Name::Constant\n color: soft_cyan,\n },\n nd: {\n // Name::Decorator\n color: bright_green,\n },\n ni: {\n // Name::Entity\n color: white,\n },\n ne: {\n // Name::Exception\n color: bright_green,\n },\n nf: {\n // Name::Function\n color: bright_green,\n },\n nl: {\n // Name::Label\n color: white,\n },\n nn: {\n // Name::Namespace\n color: white,\n },\n nt: {\n // Name::Tag\n color: bright_pink,\n },\n nx: {\n // Name::Other\n color: white,\n },\n vc: {\n // Name::Variable::Class\n color: white,\n },\n vg: {\n // Name::Variable::Global\n color: white,\n },\n vi: {\n // Name::Variable::Instance\n color: white,\n },\n nv: {\n // Name::Variable::Instance\n color: white,\n },\n ow: {\n // Operator::Word\n color: bright_pink,\n },\n o: {\n // Operator\n color: white,\n },\n w: {\n // Text::Whitespace\n color: white,\n },\n txt: {\n color: white,\n 'background-color': 'rgb(35, 37, 41)',\n },\n};\nexport default monokai_rouge_style;\n","import createRougeTheme from './createRougeTheme';\nimport default_rouge_theme from './default.rouge';\nimport monokai_rouge_theme from './monokai.rouge';\nconst registered_rouge_themes = {\n default: createRougeTheme('default', default_rouge_theme),\n monokai: createRougeTheme('monokai', monokai_rouge_theme),\n};\nexport default registered_rouge_themes;\n","import { SUBTHEME_VARS } from './Subtheme';\nimport RougeThemes from './rouge_themes';\nfunction apply(theme_definition, mode) {\n const theme_vars = theme_definition[mode];\n const bodyEl = document.body;\n for (const [theme_var, value] of Object.entries(theme_vars)) {\n bodyEl.style.setProperty(theme_var, value || null);\n }\n let rouge_theme_name = theme_vars['rouge_theme'];\n if (!rouge_theme_name || !RougeThemes[rouge_theme_name]) {\n rouge_theme_name = 'default';\n }\n RougeThemes[rouge_theme_name].apply();\n // Also reflect the `mode` in the DOM so that CSS can use it.\n document.documentElement.setAttribute('data-theme-mode', mode);\n}\nfunction reset(theme_definition, mode) {\n const theme_vars = theme_definition[mode];\n const bodyEl = document.body;\n SUBTHEME_VARS.map((theme_var) => {\n bodyEl.style.removeProperty(theme_var);\n });\n if (theme_vars['rouge_theme'] && RougeThemes[theme_vars['rouge_theme']]) {\n RougeThemes[theme_vars['rouge_theme']].reset();\n }\n}\n/**\n * Create a Subtheme based on a given CSS config\n * @param name The name of the subtheme\n * @param theme_definition The CSS variables describing this subtheme\n */\nexport default function createSubtheme(name, label, theme_definition) {\n return {\n name,\n label,\n theme_definition,\n apply: (mode) => apply(theme_definition, mode),\n reset: (mode) => reset(theme_definition, mode),\n };\n}\n","const MAIN_TEXT_COLOR = '#c9d1d9';\nconst CODE_COLOR = 'white';\nconst CODE_BG_COLOR = '#161b22';\nconst CODE_BORDER_COLOR = 'rgb(60, 62, 66)';\nconst CODE_BORDER = `1px solid ${CODE_BORDER_COLOR}`;\nconst BORDER_LINE_COLOR = '#21262d';\nconst BORDER_LINE_COLOR_INVERTED = '#eaecef';\nexport default {\n '--sidebar-border-color': BORDER_LINE_COLOR,\n '--main-text-color': MAIN_TEXT_COLOR,\n '--main-table-bg-color': '#0d1117',\n '--main-table-bg-contrast-color': '#262d36',\n '--main-table-pre-bg-color': CODE_BG_COLOR,\n '--main-table-pre-text-color': CODE_COLOR,\n '--main-table-pre-border': CODE_BORDER,\n '--tt-bg-color': 'rgba(240, 246, 252, 0.15)',\n '--tt-text-color': MAIN_TEXT_COLOR,\n '--tt-border': '0px',\n '--tt-border-radius': '6px',\n // Use the sidebar active color for each theme\n '--sidebar-tt-active-bg-color': 'rgba(0, 0, 0, 0)',\n '--main-blockquote-text-color': '#8b949e',\n '--main-blockquote-text-border': '#3b434b',\n '--main-header-border-bottom-color': BORDER_LINE_COLOR,\n '--main-image-border-color': BORDER_LINE_COLOR,\n '--main-image-border-color-inverted': BORDER_LINE_COLOR_INVERTED,\n '--primer-spec-callout-neutral-bg-color': 'rgba(22, 27, 34, 0.8)',\n '--primer-spec-callout-neutral-text-color': MAIN_TEXT_COLOR,\n '--primer-spec-callout-neutral-border-color': 'rgb(48, 54, 61)',\n '--primer-spec-callout-info-bg-color': 'rgba(56, 139, 253, 0.15)',\n '--primer-spec-callout-info-text-color': MAIN_TEXT_COLOR,\n '--primer-spec-callout-info-border-color': 'rgba(56, 139, 253, 0.4)',\n '--primer-spec-callout-info-icon-color': '#58a6ff',\n '--primer-spec-callout-warning-bg-color': 'rgba(187, 128, 9, 0.15)',\n '--primer-spec-callout-warning-text-color': MAIN_TEXT_COLOR,\n '--primer-spec-callout-warning-border-color': 'rgba(187, 128, 9, 0.4)',\n '--primer-spec-callout-warning-icon-color': '#d29922',\n '--primer-spec-callout-danger-bg-color': 'rgba(248, 81, 73, 0.15)',\n '--primer-spec-callout-danger-text-color': MAIN_TEXT_COLOR,\n '--primer-spec-callout-danger-border-color': 'rgba(248, 81, 73, 0.4)',\n '--primer-spec-callout-danger-icon-color': '#f85149',\n '--primer-spec-callout-success-bg-color': 'rgba(46, 160, 67, 0.15)',\n '--primer-spec-callout-success-text-color': MAIN_TEXT_COLOR,\n '--primer-spec-callout-success-border-color': 'rgba(46, 160, 67, 0.4)',\n '--primer-spec-callout-success-icon-color': '#3fb950',\n '--code-block-default-color': MAIN_TEXT_COLOR,\n '--code-block-border-color': CODE_BORDER_COLOR,\n '--code-block-header-bg-color': CODE_BG_COLOR,\n '--code-block-bg-color': 'rgb(13, 17, 23)',\n '--code-block-line-number-color': '#484f58',\n '--code-block-highlight-bg-color': 'rgba(187, 128, 9, 0.15)',\n '--code-block-highlight-shadow-color': 'rgba(187, 128, 9, 0.4)',\n '--code-block-button-color': MAIN_TEXT_COLOR,\n '--code-block-button-bg-color': BORDER_LINE_COLOR,\n '--code-block-button-border-color': 'rgba(240, 246, 252, 0.1)',\n '--code-block-button-shadow': '0 0 transparent',\n '--code-block-button-shadow-inset-color': '0 0 transparent',\n '--code-block-button-hover-bg-color': 'rgb(48, 54, 61)',\n '--code-block-button-hover-border-color': 'rgb(140, 148, 158)',\n '--tooltip-background-color': 'rgb(110, 118, 129)',\n '--tooltip-color': 'white',\n '--kbd-border-color': 'rgba(110, 118, 129, 0.4)',\n};\n","import common_dark_theme_colors from './common_dark_theme_colors';\nconst DEFAULT_DARK_BG_COLOR = '#0d1117'; // GitHub's dark mode background color\nconst DEFAULT_DARK_MAIN_HEADING_COLOR = '#e7ebee'; // lighten(#c9d1d9 (MAIN_TEXT_COLOR), 10%)\nconst DEFAULT_DARK_SIDEBAR_HEADING_COLOR = '#cccccc'; // darken(MAIN_HEADING_COLOR, 15%)\nconst DEFAULT_DARK_LINK_COLOR = '#58a6ff'; // GitHub's dark mode link color\nconst default_theme_vars = {\n light: { rouge_theme: 'default' },\n dark: {\n '--sidebar-bg-color': DEFAULT_DARK_BG_COLOR,\n '--sidebar-heading-text-color': DEFAULT_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-heading-link-color': DEFAULT_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-toc-h1-link-color': DEFAULT_DARK_LINK_COLOR,\n '--sidebar-toc-h1-border-color': '#555',\n '--sidebar-toc-h2-link-color': DEFAULT_DARK_LINK_COLOR,\n '--sidebar-active-toc-section-bg-color': '#e4d93f',\n '--sidebar-active-toc-section-link-color': DEFAULT_DARK_BG_COLOR,\n '--sidebar-active-toc-h1-section-link-color': DEFAULT_DARK_BG_COLOR,\n '--sidebar-active-toc-h2-section-link-color': DEFAULT_DARK_BG_COLOR,\n '--sidebar-toc-section-link-color': DEFAULT_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-tt-active-text-color': DEFAULT_DARK_BG_COLOR,\n '--sidebar-resize-handle': '#333',\n '--main-heading-text-color': DEFAULT_DARK_MAIN_HEADING_COLOR,\n '--main-heading-link-color': DEFAULT_DARK_LINK_COLOR,\n '--main-link-color': DEFAULT_DARK_LINK_COLOR,\n '--hoverable-link-hover-color': '#9dd2fb',\n '--main-bg-color': DEFAULT_DARK_BG_COLOR,\n ...common_dark_theme_colors,\n rouge_theme: 'monokai',\n },\n};\nexport default default_theme_vars;\n","import common_dark_theme_colors from './common_dark_theme_colors';\nconst BELLA_PRIMARY_TEXT_COLOR = 'rgb(69, 98, 115)';\nconst BELLA_MAIN_LINK_COLOR = 'rgb(219, 71, 93)';\nconst BELLA_DARK_PRIMARY_COLOR = 'rgb(67, 116, 121)';\nconst BELLA_DARK_PRIMARY_HEADING_COLOR = '#61a1a8'; // lighten($BELLA_DARK_PRIMARY_COLOR, 15%)\nconst BELLA_DARK_MAIN_LINK_COLOR = 'rgb(218, 128, 131)';\nconst BELLA_DARK_SIDEBAR_HEADING_COLOR = 'white';\nconst bella_theme_vars = {\n light: {\n '--sidebar-bg-color': 'rgb(246, 246, 246)',\n '--sidebar-heading-text-color': BELLA_PRIMARY_TEXT_COLOR,\n '--sidebar-heading-link-color': BELLA_MAIN_LINK_COLOR,\n '--sidebar-toc-h1-link-color': BELLA_PRIMARY_TEXT_COLOR,\n '--sidebar-toc-h1-border-color': BELLA_PRIMARY_TEXT_COLOR,\n '--sidebar-toc-h2-link-color': BELLA_PRIMARY_TEXT_COLOR,\n '--sidebar-active-toc-section-bg-color': BELLA_PRIMARY_TEXT_COLOR,\n '--sidebar-active-toc-section-link-color': 'white',\n '--sidebar-active-toc-h1-section-link-color': 'white',\n '--sidebar-active-toc-h2-section-link-color': 'white',\n '--sidebar-toc-section-link-color': 'rgb(58, 58, 58)',\n '--sidebar-resize-handle': '#ccc',\n '--main-heading-text-color': BELLA_PRIMARY_TEXT_COLOR,\n '--main-heading-link-color': BELLA_MAIN_LINK_COLOR,\n '--main-link-color': BELLA_MAIN_LINK_COLOR,\n '--tt-border-radius': '3px',\n '--hoverable-link-hover-color': '#731624',\n rouge_theme: 'default',\n },\n dark: {\n '--sidebar-bg-color': 'rgb(58, 58, 60)',\n '--sidebar-heading-text-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-heading-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-toc-h1-link-color': BELLA_DARK_PRIMARY_HEADING_COLOR,\n '--sidebar-toc-h1-border-color': BELLA_DARK_PRIMARY_HEADING_COLOR,\n '--sidebar-toc-h2-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-active-toc-section-bg-color': BELLA_DARK_PRIMARY_COLOR,\n '--sidebar-active-toc-section-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-active-toc-h1-section-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-active-toc-h2-section-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-toc-section-link-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-tt-active-text-color': BELLA_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-resize-handle': '#555',\n '--main-heading-text-color': BELLA_DARK_PRIMARY_HEADING_COLOR,\n '--main-heading-link-color': BELLA_DARK_MAIN_LINK_COLOR,\n '--main-link-color': BELLA_DARK_MAIN_LINK_COLOR,\n '--hoverable-link-hover-color': '#fdf6f7',\n '--main-bg-color': 'rgb(28, 28, 30)',\n ...common_dark_theme_colors,\n rouge_theme: 'monokai',\n },\n};\nexport default bella_theme_vars;\n","import common_dark_theme_colors from './common_dark_theme_colors';\nconst MODERN_PRIMARY_COLOR = 'rgb(41, 82, 91)';\nconst MODERN_SPECIAL_COLOR = 'rgb(229, 214, 204)';\nconst MODERN_SIDEBAR_CONTRAST_COLOR = 'rgb(114, 202, 195)';\nconst MODERN_MAIN_LINK_COLOR = 'rgb(233, 114, 110)';\nconst MODERN_DARK_HEADING_COLOR = 'rgb(79, 205, 196)';\nconst MODERN_DARK_SPECIAL_COLOR = 'rgb(242, 224, 213)';\nconst MODERN_DARK_SIDEBAR_BG_COLOR = 'rgb(22, 60, 60)';\nconst modern_theme_vars = {\n light: {\n '--sidebar-bg-color': MODERN_PRIMARY_COLOR,\n '--sidebar-heading-text-color': MODERN_SIDEBAR_CONTRAST_COLOR,\n '--sidebar-heading-link-color': MODERN_SIDEBAR_CONTRAST_COLOR,\n '--sidebar-toc-h1-link-color': MODERN_SPECIAL_COLOR,\n '--sidebar-toc-h1-border-color': MODERN_SPECIAL_COLOR,\n '--sidebar-toc-h2-link-color': 'white',\n '--sidebar-resize-handle': '#246161',\n '--sidebar-active-toc-section-bg-color': 'rgb(248, 255, 248)',\n '--sidebar-active-toc-section-link-color': MODERN_PRIMARY_COLOR,\n '--sidebar-active-toc-h1-section-link-color': MODERN_PRIMARY_COLOR,\n '--sidebar-active-toc-h2-section-link-color': MODERN_PRIMARY_COLOR,\n '--sidebar-toc-section-link-color': 'white',\n '--main-heading-text-color': MODERN_PRIMARY_COLOR,\n '--main-heading-link-color': MODERN_PRIMARY_COLOR,\n '--main-link-color': MODERN_MAIN_LINK_COLOR,\n '--tt-border-radius': '3px',\n '--hoverable-link-hover-color': '#a51e19',\n rouge_theme: 'default',\n },\n dark: {\n '--sidebar-bg-color': MODERN_DARK_SIDEBAR_BG_COLOR,\n '--sidebar-heading-link-color': MODERN_SIDEBAR_CONTRAST_COLOR,\n '--sidebar-heading-text-color': MODERN_SIDEBAR_CONTRAST_COLOR,\n '--sidebar-toc-h1-link-color': MODERN_DARK_SPECIAL_COLOR,\n '--sidebar-toc-h1-border-color': MODERN_DARK_SPECIAL_COLOR,\n '--sidebar-toc-h2-link-color': 'white',\n '--sidebar-active-toc-section-bg-color': 'rgb(248, 255, 248)',\n '--sidebar-active-toc-section-link-color': MODERN_DARK_SIDEBAR_BG_COLOR,\n '--sidebar-active-toc-h1-section-link-color': MODERN_DARK_SIDEBAR_BG_COLOR,\n '--sidebar-active-toc-h2-section-link-color': MODERN_DARK_SIDEBAR_BG_COLOR,\n '--sidebar-toc-section-link-color': 'white',\n '--sidebar-tt-active-text-color': MODERN_DARK_SIDEBAR_BG_COLOR,\n '--sidebar-resize-handle': '#246161',\n '--main-heading-text-color': MODERN_DARK_HEADING_COLOR,\n '--main-heading-link-color': MODERN_DARK_HEADING_COLOR,\n '--main-link-color': MODERN_MAIN_LINK_COLOR,\n '--hoverable-link-hover-color': '#fdf3f3',\n '--main-bg-color': 'rgb(28, 28, 30)',\n ...common_dark_theme_colors,\n rouge_theme: 'monokai',\n },\n};\nexport default modern_theme_vars;\n","import common_dark_theme_colors from './common_dark_theme_colors';\nconst XCODE_DARK_BG_COLOR = 'rgb(40, 41, 35)';\nconst XCODE_DARK_TEXT_COLOR = 'white';\nconst XCODE_DARK_SIDEBAR_HEADING_COLOR = 'rgb(58, 58, 58)';\nconst XCODE_DARK_MAIN_HEADING_COLOR = 'rgb(137, 135, 205)';\nconst XCODE_DARK_MAIN_LINK_COLOR = '#ffae66';\nconst BORDER_LINE_COLOR = '#555';\nconst xcode_dark_theme_vars = {\n light: {\n '--sidebar-bg-color': 'rgb(242, 243, 243)',\n '--sidebar-heading-text-color': XCODE_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-heading-link-color': XCODE_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-border-color': BORDER_LINE_COLOR,\n '--sidebar-toc-h1-link-color': XCODE_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-toc-h1-border-color': 'rgb(125, 125, 125)',\n '--sidebar-toc-h2-link-color': XCODE_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-active-toc-section-bg-color': 'rgb(90, 151, 247)',\n '--sidebar-active-toc-section-link-color': 'white',\n '--sidebar-active-toc-h1-section-link-color': 'white',\n '--sidebar-active-toc-h2-section-link-color': 'white',\n '--sidebar-toc-section-link-color': XCODE_DARK_SIDEBAR_HEADING_COLOR,\n '--sidebar-resize-handle': XCODE_DARK_MAIN_LINK_COLOR,\n '--main-heading-text-color': XCODE_DARK_MAIN_HEADING_COLOR,\n '--main-heading-link-color': XCODE_DARK_MAIN_HEADING_COLOR,\n '--main-link-color': XCODE_DARK_MAIN_LINK_COLOR,\n '--hoverable-link-hover-color': '#cc6000',\n '--main-bg-color': XCODE_DARK_BG_COLOR,\n '--main-text-color': XCODE_DARK_TEXT_COLOR,\n '--main-table-pre-bg-color': '#f6f8fa',\n '--main-table-pre-text-color': 'black',\n '--main-blockquote-text-color': '#ccc',\n '--tt-text-color': 'white',\n '--tt-bg-color': '#696969',\n '--tt-border-radius': '3px',\n '--main-header-border-bottom-color': BORDER_LINE_COLOR,\n '--primer-spec-callout-neutral-text-color': 'black',\n '--primer-spec-callout-info-text-color': 'black',\n '--primer-spec-callout-warning-text-color': 'black',\n '--primer-spec-callout-danger-text-color': 'black',\n '--primer-spec-callout-success-text-color': 'black',\n rouge_theme: 'default',\n },\n dark: {\n ...common_dark_theme_colors,\n '--sidebar-bg-color': 'rgb(75, 77, 85)',\n '--sidebar-heading-text-color': 'white',\n '--sidebar-heading-link-color': 'white',\n '--sidebar-border-color': BORDER_LINE_COLOR,\n '--sidebar-toc-h1-link-color': 'white',\n '--sidebar-toc-h1-border-color': 'rgb(125, 125, 125)',\n '--sidebar-toc-h2-link-color': 'white',\n '--sidebar-active-toc-section-bg-color': 'rgb(90, 151, 247)',\n '--sidebar-active-toc-section-link-color': 'white',\n '--sidebar-active-toc-h1-section-link-color': 'white',\n '--sidebar-active-toc-h2-section-link-color': 'white',\n '--sidebar-toc-section-link-color': 'white',\n '--sidebar-resize-handle': XCODE_DARK_MAIN_HEADING_COLOR,\n '--main-heading-text-color': XCODE_DARK_MAIN_HEADING_COLOR,\n '--main-heading-link-color': XCODE_DARK_MAIN_HEADING_COLOR,\n '--main-link-color': XCODE_DARK_MAIN_LINK_COLOR,\n '--hoverable-link-hover-color': 'white',\n '--main-bg-color': XCODE_DARK_BG_COLOR,\n '--main-text-color': XCODE_DARK_TEXT_COLOR,\n '--main-table-pre-bg-color': XCODE_DARK_BG_COLOR,\n '--main-table-pre-text-color': XCODE_DARK_TEXT_COLOR,\n '--main-table-pre-border': '1px solid rgb(60, 62, 66)',\n '--tt-text-color': 'white',\n '--tt-border-radius': '6px',\n '--main-blockquote-text-color': '#999999',\n '--main-header-border-bottom-color': BORDER_LINE_COLOR,\n rouge_theme: 'monokai',\n },\n};\nexport default xcode_dark_theme_vars;\n","import createSubtheme from './createSubtheme';\nimport default_theme from './definitions/default.theme';\nimport bella_theme from './definitions/bella.theme';\nimport modern_theme from './definitions/modern.theme';\nimport xcode_civic_theme from './definitions/xcode_civic.theme';\nexport const REGISTERED_SUBTHEMES = {\n default: createSubtheme('default', 'Primer', default_theme),\n bella: createSubtheme('bella', 'Bella', bella_theme),\n modern: createSubtheme('modern', 'Modern', modern_theme),\n 'xcode-civic': createSubtheme('xcode-civic', 'Xcode Civic', xcode_civic_theme),\n};\nexport function registerNewSubtheme(name, label, definition) {\n REGISTERED_SUBTHEMES[name] = createSubtheme(name, label, definition);\n}\nwindow.PrimerSpec = {\n ...window.PrimerSpec,\n REGISTERED_SUBTHEMES,\n registerNewSubtheme,\n};\n","const listener_callbacks = {};\nwindow.addEventListener('storage', (e) => {\n if (!e.key)\n return;\n const callbacks = listener_callbacks[e.key];\n if (!callbacks)\n return;\n callbacks.forEach((callback) => callback(e.newValue, e.oldValue));\n});\nconst local_storage_available = isStorageAvailable('localStorage');\nexport default {\n /**\n * Get an item persisted in local storage by key. These values are typically\n * persisted across all pages in the same \"website\".\n *\n * Use in conjunction with `Storage.set()`.\n */\n get(key) {\n return local_storage_available ? window.localStorage.getItem(key) : null;\n },\n /**\n * Persist an item in local storage by key. The item is persisted across all\n * pages in the same \"website\".\n *\n * Use in conjunction with `Storage.get()`.\n */\n set(key, value) {\n if (local_storage_available) {\n window.localStorage.setItem(key, value);\n }\n },\n /**\n * Get an item persisted in local storage using `Storage.setForPage()`.\n */\n getForPage(key) {\n return this.get(mangleKeyWithPagePath(key));\n },\n /**\n * Persist an item in local storage, and mark it as being attached to the\n * current page (as opposed to being available to all pages across the same\n * \"website\").\n *\n * Retrieve items set using this method using `Storage.getForPage()`.\n */\n setForPage(key, value) {\n return this.set(mangleKeyWithPagePath(key), value.toString());\n },\n /**\n * Register a `callback` that will be invoked when `key` changes in local\n * storage (in a different document context). This can help sync app state\n * across tabs.\n *\n * Use this to listen to listen for changes to items persisted using\n * `Storage.set()`.\n * Unregister the callback using `Storage.removeListener()`.\n */\n addListener(key, callback) {\n if (!listener_callbacks[key]) {\n listener_callbacks[key] = [];\n }\n listener_callbacks[key].push(callback);\n },\n /**\n * Unregister the callback registered using `Storage.addListener()`.\n */\n removeListener(key, callbackToRemove) {\n const callbacks = listener_callbacks[key];\n if (!callbacks)\n return;\n listener_callbacks[key] = callbacks.filter((callback) => callback !== callbackToRemove);\n },\n /**\n * Register a `callback` that will be invoked when `key` changes in local\n * storage for the given page path (but in a different document context).\n * This can help sync app state across tabs.\n *\n * Use this to listen to listen for changes to items persisted using\n * `Storage.setForPage()`.\n * Unregister the callback using `Storage.removeListenerForPage()`.\n */\n addListenerForPage(key, callback) {\n this.addListener(mangleKeyWithPagePath(key), callback);\n },\n /**\n * Unregister the callback registered using\n * `Storage.removeListenerForPage()`.\n */\n removeListenerForPage(key, callbackToRemove) {\n this.removeListener(mangleKeyWithPagePath(key), callbackToRemove);\n },\n};\nfunction mangleKeyWithPagePath(key) {\n return `${document.location.pathname}__${key}`;\n}\n/**\n * Check if a particular type of storage is made available by the browser.\n * @param type storage type (for instance, 'localStorage')\n */\nfunction isStorageAvailable(type) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let storage;\n try {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n storage = window[type];\n const x = '__storage_test__';\n storage.setItem(x, x);\n storage.removeItem(x);\n return true;\n }\n catch (e) {\n return (e instanceof DOMException &&\n // everything except Firefox\n (e.code === 22 ||\n // Firefox\n e.code === 1014 ||\n // test name field too, because code might not be present\n // everything except Firefox\n e.name === 'QuotaExceededError' ||\n // Firefox\n e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n // acknowledge QuotaExceededError only if there's something already stored\n storage &&\n storage.length !== 0);\n }\n}\n","export var CodeblockVariant;\n(function (CodeblockVariant) {\n CodeblockVariant[\"ENHANCED\"] = \"enhanced\";\n CodeblockVariant[\"NO_LINE_NUMBERS\"] = \"no-line-numbers\";\n CodeblockVariant[\"LEGACY\"] = \"legacy\";\n})(CodeblockVariant || (CodeblockVariant = {}));\n/**\n * The class used on each element that represents the contents of the code\n * block.\n */\nexport const CODEBLOCK_LINE_CLASS = 'primer-spec-code-block-line-code';\n/**\n * We use the following class to ensure that we don't double-process code\n * blocks.\n */\nexport const CODEBLOCK_PROCESSED_CLASS = 'primer-spec-code-block-processed';\n/**\n * Since we want to linkify code block titles, this is the class used to\n * identify them to AnchorJS.\n */\nexport const CODEBLOCK_TITLE_CLASS = 'primer-spec-code-block-title';\n/**\n * We perform special handling for blocks in the `console` language: If a user\n * clicks the line number, the entire line will be highlighted EXCLUDING the\n * prompt (`$`) at the beginning, if it exists.\n * See the special handling in `createCodeBlockLine()`.\n */\nexport const LANGUAGE_CONSOLE = 'console';\n","import Storage from './utils/Storage';\nimport { CodeblockVariant } from './components/main_content/enhanced_code_blocks/codeblockConsts';\nconst SUBTHEME_NAME_STORAGE_KEY = 'spec_subtheme_name';\nconst SUBTHEME_MODE_STORAGE_KEY = 'spec_subtheme_mode';\nconst INIT_SUBTHEME_NAME = Storage.get(SUBTHEME_NAME_STORAGE_KEY) ||\n window.PrimerSpecConfig.defaultSubthemeName ||\n 'default';\nconst INIT_SUBTHEME_MODE = (Storage.get(SUBTHEME_MODE_STORAGE_KEY) ||\n window.PrimerSpecConfig.defaultSubthemeMode ||\n 'system');\nconst INIT_SITEMAP_ENABLED = getInitSitemapEnabled();\n/**\n * Exposes config variables defined in the webpack config (as a plugin)\n * or in window.PrimerSpecConfig. Also exposes constants used throughout the\n * app.\n */\nexport default {\n // From webpack config\n VERSION_RAW: process.env.VERSION_RAW,\n VERSION_MINOR_STR: process.env.VERSION_MINOR_STR,\n BUILD_MODE: process.env.BUILD_MODE,\n // From window.PrimerSpecConfig\n PDF_PATH: window.PrimerSpecConfig.pdfPath || null,\n SITE_QUALIFIED_BASE_URL: window.PrimerSpecConfig.siteQualifiedBaseUrl || '/',\n HIDE_SIDEBAR_ON_LOAD: getHideSidebarOnLoad(),\n DISABLE_SIDEBAR: window.PrimerSpecConfig.disableSidebar || false,\n INIT_SUBTHEME_NAME,\n INIT_SUBTHEME_MODE,\n INIT_SITEMAP_ENABLED,\n SITEMAP_URLS: window.PrimerSpecConfig.sitemapUrls || [],\n SITEMAP_LABEL: getSitemapLabel(),\n SITEMAP_SITE_TITLE: window.PrimerSpecConfig.sitemapSiteTitle || '',\n DEFAULT_CODEBLOCK_VARIANT: getDefaultCodeblockVariant(),\n // DEPRECATED in v1.7.0. Use `DEFAULT_CODEBLOCK_VARIANT` instead.\n USE_LEGACY_CODE_BLOCKS_DEPRECATED_DO_NOT_USE: window.PrimerSpecConfig.useLegacyCodeBlocks || false,\n // Other constants\n PRIMER_SPEC_APP_NODE_ID: 'primer-spec-app-container',\n PRIMER_SPEC_CONTENT_PLUGIN_NODE_ID: 'primer-spec-plugin-main-content',\n PRIMER_SPEC_CONTENT_PREACT_NODE_ID: 'primer-spec-preact-main-content',\n SUBTHEME_NAME_STORAGE_KEY,\n SUBTHEME_MODE_STORAGE_KEY,\n DEFAULT_ACTIVE_SECTION_OFFSET_Y: 10,\n};\nfunction getHideSidebarOnLoad() {\n const sidebar_hidden_stored_value = Storage.getForPage('sidebar_hidden');\n let hideSidebar = false;\n if (sidebar_hidden_stored_value !== null) {\n hideSidebar = sidebar_hidden_stored_value === 'true';\n }\n else {\n hideSidebar =\n window.PrimerSpecConfig.hideSidebarOnLoad ||\n window.PrimerSpecConfig.disableSidebar ||\n false;\n Storage.setForPage('sidebar_hidden', hideSidebar.toString());\n }\n return hideSidebar;\n}\nfunction getInitSitemapEnabled() {\n if (process.env.BUILD_MODE === 'development') {\n const searchParams = new URLSearchParams(document.location.search);\n const sitemapEnabledFromUrl = searchParams.get('enable_sitemap');\n if (sitemapEnabledFromUrl != null) {\n return sitemapEnabledFromUrl === '1';\n }\n }\n return !!window.PrimerSpecConfig.sitemapEnabled;\n}\nfunction getDefaultCodeblockVariant() {\n if (window.PrimerSpecConfig.useLegacyCodeBlocks === true) {\n // Note that `useLegacyCodeBlocks` is deprecated in v1.7.0. This code\n // just ensures backwards-compatibility.\n return CodeblockVariant.LEGACY;\n }\n const maybeVariant = window.PrimerSpecConfig.defaultCodeblockVariant?.toLowerCase();\n if (maybeVariant && Object.values(CodeblockVariant).includes(maybeVariant)) {\n return maybeVariant;\n }\n return CodeblockVariant.ENHANCED;\n}\nfunction getSitemapLabel() {\n if (window.PrimerSpecConfig.sitemapLabel === null) {\n return null;\n }\n return window.PrimerSpecConfig.sitemapLabel || 'Supplemental Pages';\n}\n","import { REGISTERED_SUBTHEMES as Subthemes } from './RegisteredSubthemes';\nimport Storage from '../utils/Storage';\nimport Config from '../Config';\n// Expose Subthemes publicly\nexport { Subthemes };\n/**\n * Updates the appearance of the page based on the Subtheme details to be\n * changed. If no Subtheme details are specified, the method uses Subtheme info\n * from Storage.\n *\n * This method also persists Subtheme changes to Storage (unless\n * `persistUpdate` is set to `false`.)\n *\n * @param newSubtheme The subtheme details to be updated. This defaults to\n * the subtheme from Storage.\n * @param persistUpdate Defaults to true. If set to false, the updated theme\n * is not persisted to Storage.\n */\nexport function updateTheme({ name, mode } = {}, persistUpdate = true) {\n const { name: stored_subtheme_name, mode: stored_subtheme_mode, } = getStoredSubtheme();\n const normalized_name = verifySubthemeName(name ?? stored_subtheme_name);\n const currently_selected_mode = verifySubthemeMode(mode ?? stored_subtheme_mode);\n const normalized_mode = normalizeSubthemeMode(currently_selected_mode);\n // First store changes. Then decide if we need to take any action on the DOM.\n if (persistUpdate) {\n storeSubtheme({ name: normalized_name, mode: currently_selected_mode });\n }\n if (normalized_name === stored_subtheme_name &&\n normalized_mode === stored_subtheme_mode &&\n // If stores are not updated, the \"current\" subthemes from the store may be\n // stale. Hence, skip this optimization.\n persistUpdate) {\n return;\n }\n const old_subtheme = Subthemes[stored_subtheme_name];\n const new_subtheme = Subthemes[normalized_name];\n old_subtheme.reset(normalizeSubthemeMode(stored_subtheme_mode));\n new_subtheme.apply(normalized_mode);\n}\n// Make this method accessible to the plugins.\nwindow.PrimerSpec.updateTheme = updateTheme;\n/**\n * Retrieve the previously stored subtheme name from persistent local\n * storage. If this cannot be retrieved, returns the name of the first\n * available subtheme.\n */\nexport function getStoredSubthemeName() {\n const stored_subtheme_name = Storage.get(Config.SUBTHEME_NAME_STORAGE_KEY);\n return verifySubthemeName(stored_subtheme_name ?? Config.INIT_SUBTHEME_NAME);\n}\n/**\n * Retrieve the previously stored subtheme mode from persistent local\n * storage. If this cannot be retrieved, returns the default mode.\n */\nexport function getStoredSubthemeMode() {\n const stored_subtheme_mode = Storage.get(Config.SUBTHEME_MODE_STORAGE_KEY);\n return verifySubthemeMode(stored_subtheme_mode ?? Config.INIT_SUBTHEME_MODE);\n}\nexport function normalizeSubthemeMode(mode) {\n if (mode !== 'system') {\n return mode;\n }\n if (!window.matchMedia) {\n return 'light';\n }\n // The following is based on:\n // https://gosink.in/javascript-css-toggle-dark-light-theme-based-on-your-users-preferred-scheme/\n if (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n // It's a dark theme\n return 'dark';\n }\n // Otherwise, it's not a dark theme\n return 'light';\n}\n/**\n * Update persistent local storage with the given subtheme for future\n * retrieval.\n * @param subtheme the name to be stored in local storage\n */\nfunction storeSubtheme({ name, mode }) {\n Storage.set(Config.SUBTHEME_NAME_STORAGE_KEY, name);\n Storage.set(Config.SUBTHEME_MODE_STORAGE_KEY, mode);\n}\nfunction getStoredSubtheme() {\n return { name: getStoredSubthemeName(), mode: getStoredSubthemeMode() };\n}\nfunction verifySubthemeName(name) {\n if (name && Subthemes[name]) {\n return name;\n }\n console.warn(`Primer Spec: Invalid subtheme name: ${name}. Reverting to 'default'`);\n return Subthemes.default.name;\n}\nfunction verifySubthemeMode(mode) {\n switch (mode) {\n case 'light':\n case 'dark':\n case 'system':\n return mode;\n }\n console.warn(`Primer Spec: Invalid subtheme mode: ${mode}. Reverting to 'system'`);\n return 'system';\n}\n","import { useCallback, useEffect, useState } from 'preact/hooks';\n/**\n * Return a stateful boolean representing if a print-event is in progress\n * (between beforeprint and afterprint).\n */\nexport function usePrintInProgress() {\n const [isPrintInProgress, setIsPrintInProgress] = useState(false);\n useBeforePrint(useCallback(() => setIsPrintInProgress(true), []));\n useAfterPrint(useCallback(() => setIsPrintInProgress(false), []));\n return isPrintInProgress;\n}\n/**\n * Register a function (that could contain imperative and possibly effectful\n * code) that will be invoked when window.onbeforeprint fires.\n *\n * Don't forget to memoize the handler if needed!\n * ```typescript\n * useBeforePrint(\n * useCallback(() => {\n * // Your logic here\n * }, []),\n * );\n * ```\n * @param handler Imperative function to be invoked onbeforeprint\n */\nexport function useBeforePrint(handler) {\n useEffect(() => {\n // Safari < 13 requires this polyfill:\n let mql_listener;\n if (window.matchMedia) {\n mql_listener = (mql) => {\n if (mql.matches) {\n // webkit equivalent of onbeforeprint\n handler();\n }\n };\n window.matchMedia('print').addListener(mql_listener);\n }\n // Non-Safari browsers support this:\n window.addEventListener('beforeprint', handler);\n return () => {\n if (window.matchMedia) {\n window.matchMedia('print').removeListener(mql_listener);\n }\n window.removeEventListener('beforeprint', handler);\n };\n }, [handler]);\n}\n/**\n * Register a function (that could contain imperative and possibly effectful\n * code) that will be invoked when window.onafterprint fires.\n *\n * Don't forget to memoize the handler if needed!\n * ```typescript\n * useBeforePrint(\n * useCallback(() => {\n * // Your logic here\n * }, []),\n * );\n * ```\n * @param handler Imperative function to execute onafterprint\n */\nexport function useAfterPrint(handler) {\n useEffect(() => {\n // Safari < 13 requires this polyfill:\n let mql_listener;\n if (window.matchMedia) {\n mql_listener = (mql) => {\n if (!mql.matches) {\n // webkit equivalent of onafterprint\n handler();\n }\n };\n window.matchMedia('print').addListener(mql_listener);\n }\n // Non-Safari browsers support this:\n window.addEventListener('afterprint', handler);\n return () => {\n if (window.matchMedia) {\n window.matchMedia('print').removeListener(mql_listener);\n }\n window.removeEventListener('afterprint', handler);\n };\n }, [handler]);\n}\n","/**\n * Return a boolean indicating whether the viewer's screen width is\n * smaller than 900px.\n */\nexport default function isSmallScreen() {\n return document.documentElement.clientWidth < 900;\n}\n","function toVal(mix) {\n\tvar k, y, str='';\n\n\tif (typeof mix === 'string' || typeof mix === 'number') {\n\t\tstr += mix;\n\t} else if (typeof mix === 'object') {\n\t\tif (Array.isArray(mix)) {\n\t\t\tfor (k=0; k < mix.length; k++) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tif (y = toVal(mix[k])) {\n\t\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\t\tstr += y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor (k in mix) {\n\t\t\t\tif (mix[k]) {\n\t\t\t\t\tstr && (str += ' ');\n\t\t\t\t\tstr += k;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn str;\n}\n\nexport default function () {\n\tvar i=0, tmp, x, str='';\n\twhile (i < arguments.length) {\n\t\tif (tmp = arguments[i++]) {\n\t\t\tif (x = toVal(tmp)) {\n\t\t\t\tstr && (str += ' ');\n\t\t\t\tstr += x\n\t\t\t}\n\t\t}\n\t}\n\treturn str;\n}\n","import Storage from '../../utils/Storage';\nexport const TASK_LIST_STORAGE_PREFIX = 'primer_spec_task_list';\nexport const TASK_LIST_STORAGE_COUNT_KEY = `${TASK_LIST_STORAGE_PREFIX}_count`;\n/**\n * A custom hook that enables task-list checkboxes and persists the checkbox\n * state. Intended to be used inside `useEffect()`. Returns a cleanup method\n * to remove the event listeners.\n * @param mainElRef A ref to the `
` element from MainContent\n */\nexport default function useTaskListCheckboxes(mainElRef) {\n if (!mainElRef.current) {\n throw new Error('Primer Spec: Main Content: Expected main content ref to be initialized.');\n }\n // The structure of a task-list is:\n //
    \n //
  • Item 1
  • \n //
  • Item 2
  • \n //
\n // Wrap the entire contents of each
  • in a