A place to cache linked articles (think custom and personal wayback machine)
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

2 年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>When Orcs were Real (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://treeofwoe.substack.com/p/when-orcs-were-real">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>When Orcs were Real</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://treeofwoe.substack.com/p/when-orcs-were-real" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <p><span>Every human culture has believed in the existence of other beings, monstrous humanoids, sapient but inhuman. </span><a href="https://infogalactic.com/info/Mythic_humanoids" rel>They have gone by different names</a><span>: boogeymen, bugbear, cyclopes, giant, jotun, ogre, oni, troll, yeti, and more. But they are always feared, lurkers in the shadows, threats to the clan, tribe, or hearth. </span><em>Dungeons &amp; Dragons </em><span>didn’t create these monsters, and (</span><a href="https://www.psychologytoday.com/us/blog/checkpoints/202004/no-orcs-arent-racist" rel>despite ongoing controversies</a><span>) they don’t represent anything modern. Humanity’s legendary heroes have been fighting these monsters since time immemorial. </span><br><br><span>The real question is why — why does every civilization have similar myths? Why does every culture have legends of monstrous humanoids, and why are they are always depicted as fearsome and dangerous? </span></p>
  71. <p>Because the legends were real. The orcs were real.</p>
  72. <p><span>That is, at least, the argument offered by Danny Vendramini in his book </span><em><a href="https://www.amazon.com/Them-Us-Neanderthal-predation-created-ebook/dp/B006QE9X8E" rel>Them and Us: How Neanderthal Predation Created Modern Humans</a></em><span>. Vendramini is a heterodox thinker, and his argument is well outside the mainstream view. So before we delve into Vendramini’s book, let’s discuss what that mainstream view is.</span></p>
  73. <p><span>Archeologists and geneticists agree that humanity co-evolved and inter-bred with similar species. We nowadays have abundant, essentially irrefutable, archeological and genetic evidence for the existence of multiple human-like species within the Paleolithic and Neolithic eras. These include the </span><a href="https://infogalactic.com/info/Neanderthal" rel>Neanderthal,</a><span> the </span><a href="https://infogalactic.com/info/Denisovan" rel>Denisovan</a><span>, the </span><a href="https://infogalactic.com/info/Homo_floresiensis" rel>Hobbit</a><span>, and several recently-discovered and uncategorized species such as </span><em><a href="https://www.ancient-origins.net/news-history-archaeology/homo-species-0015498" rel>Nesher Ramla Homo</a><span> </span></em><span>in Israel. New human-like species are being discovered all the time. In fact, as I was writing this essay, </span><a href="https://edition.cnn.com/2021/06/25/asia/dragon-man-china-early-human-scn/index.html" rel>Chinese archeologists discovered another one</a><span>!</span></p>
  74. <p>Yet none of these archaic humans or humanoids survive today. Not a single one. All have gone extinct, vanishing save for traces of artifacts and bones in our wilderness and fragments of DNA in our genome. What happened to them all? Here, disagreements begin. </p>
  75. <p><span>The </span><a href="https://infogalactic.com/info/Neanderthal_extinction" rel>possible causes of extinction</a><span> identified by scientists include:</span></p>
  76. <ul><li><p>extinction from parasites and pathogens;</p></li><li><p>extinction from interbreeding into humanity;</p></li><li><p>extinction from inability to adapt to climate change;</p></li><li><p>extinction from natural catastrophe; and</p></li><li><p>extinction by war with humans. </p></li></ul>
  77. <p><span>The latter view, which suggests that the human race brutally extinguished the other sapient primates it faced, was first proposed by French paleontologist </span><a href="https://en.wikipedia.org/wiki/Marcellin_Boule" title="Marcellin Boule" rel>Marcellin Boule</a><span> way back in 1912. It was then promptly ignored for many decades. As explained in </span><em><a href="https://www.academia.edu/40409870/The_archaeology_of_warfare_and_mass_violence_in_ancient_Europe" rel>The Archeology of Warfare and Mass Violence in Ancient Europe</a></em><span>: </span></p>
  78. <blockquote><p><span>Archaeologists are increasingly aware that they have underestimated the societal impact of collective violence… Sites like Ribemont, Kessel, Monte Bernorio and Kalkriese confront us in a poignant way with the cruelties of war and mass violence in late prehistoric and early historic times. </span><strong>There is a growing critique that archaeology has marginalised violence and presented too pacified a view of the past. </strong></p></blockquote>
  79. <p>Actually, it wasn’t just archaeology that was biased. Academics of all sorts hate violence and for decades they systematically marginalized it from their explanations of events. Only within the last 20 years have mainstream academics and scientists accepted the ubiquity of violence in man and his closest kin:</p>
  80. <p><span>With these developments in mind, mainstream academics have finally begun to accept that human beings drove the Neanderthals to extinction through war. Nicholas R. Longrich</span><strong>, </strong><span>a</span><strong> </strong><span>Senior Lecturer in Evolutionary Biology and Paleontology at the University of Bath, </span><a href="https://theconversation.com/war-in-the-time-of-neanderthals-how-our-species-battled-for-supremacy-for-over-100-000-years-148205" rel>presents an excellent summary of the current consensu</a><span>s:</span></p>
  81. <blockquote><p><span>To war is human – and Neanderthals were very like us. We’re remarkably similar in our skull and skeletal anatomy, and share </span><a href="https://science.sciencemag.org/content/328/5979/710" rel>99.7% of our DNA</a><span>. Behaviourally, Neanderthals were astonishingly like us… The archaeological record confirms Neanderthal lives were anything but peaceful…. The best evidence that Neanderthals not only fought but excelled at war, is that they met us and weren’t immediately overrun. Instead, for around 100,000 years, Neanderthals resisted </span><a href="https://theconversation.com/were-other-humans-the-first-victims-of-the-sixth-mass-extinction-126638" rel>modern human expansion</a><span>… For thousands of years, we must have tested their fighters, and for thousands of years, we kept losing… Finally, the stalemate broke, and the tide shifted. We don’t know why. It’s possible the invention of superior ranged weapons – </span><a href="https://www.cambridge.org/core/journals/antiquity/article/indications-of-bow-and-stonetipped-arrow-use-64-000-years-ago-in-kwazulunatal-south-africa/89AF638BE5E64CEAC63363EFDD4D5E8F" rel>bows</a><span>, </span><a href="https://www.sciencedirect.com/science/article/pii/S030544030500230X" rel>spear-throwers</a><span>, </span><a href="https://www.nature.com/articles/329436a0" rel>throwing clubs</a><span> – let lightly-built </span><em>Homo sapiens</em><span> harass the stocky Neanderthals from a distance using hit-and-run tactics. Or perhaps </span><a href="https://www.pnas.org/content/106/38/16034" rel>better hunting and gathering techniques</a><span> let </span><em>sapiens</em><span> feed bigger tribes, creating numerical superiority in battle… Ultimately, we won. But this wasn’t because they were less inclined to fight. In the end, we likely just became better at war than they were.</span></p></blockquote>
  82. <p>The mainstream view, then, is that Neanderthals were behaviorally and physically much like humans, made war much like humans, and were eventually defeated by superior technology and numbers, much as Europeans defeated indigenous peoples throughout history, by superior technology and numbers. </p>
  83. <p>In other words, we killed off Fred Flintstone.</p>
  84. <p><span>Let us now consider Danny Vendramini’s view. Vendramini agrees with the mainstream that Neanderthals were driven to eventual extinction by war with Homo Sapiens. Where he parts ways with the mainstream is in his assessment of </span><em>what Neanderthals were like. </em></p>
  85. <p>Vendramini shows that:</p>
  86. <ul><li><p>Neanderthals were apex predators. Analysis of isotopes of bone collage has shown that Neanderthal diet was 97% meat. They are estimated to have eaten 4.1 lbs of fresh meat per day. Ample evidence exists to show they used stone-tipped wooden spears to hunt. From the bones littering their caves, we know Neanderthals hunted woolly mammoths, giant cave bears, woolly rhinos, bison, wolves, and even cave lions - the most dangerous and lethal animals on earth. </p></li><li><p>Neanderthals were cannibals. A number of Neanderthal sites reveal bones that have been cut and cracked open to extract the marrow. While this hypothesis was initially rejected a recent find at El Sidron in Spain revealed numerous Neanderthal skeletons with the unmistakable marks of butchery by cannibals wielding hand axes, knives, and scrapers. </p></li><li><p>Neanderthals had more robust bones and heavier musculature than Homo Sapiens. They weighed 25% more. They were so heavily muscled that their skeletons had to develop extra thick bones. “One of the most characteristic features of the Neanderthals is the exaggerated massiveness of their trunk and limb bones. All of the preserved bones suggest a strength seldom attained by modern humans…” (quoting paleoanthropologist Erik Trinkaus). “A healthy Neanderthal male could lift an average NFL linebacker over his head and throw him through the goalposts.” Neanderthals also evolved extremely thick skulls - “postcranial hyper-robusticity” — that protected them in close-quarter confrontation with prey. They all had kyphosis, with hunched backs, that gave them a distinct profile and gait.</p></li><li><p>Neanderthal teeth were twice as large as human teeth. According to 2008 anthropologist research, their mouths could open much wider than human mouths, enabling them to take extremely large bites. Judging by the size of the jaw, they had tremendous bite force. </p></li><li><p>Neanderthals evolved in Ice Age Europe and had specific adaptations to that climate. They had short limbs, large noses, and compact torsos. Most importantly, they were covered with thick fur! </p>
  87. <p>Since no Neanderthal cadaver survives, this point cannot be proven. But Vendramini points out that every primate except Homo Sapiens is covered with fur, and that every cold-adapted mammal during the Ice Ages had thick fur, including mammals that were hairless in Africa, such as the elephant and rhinoceros. There is no reason to believe Neanderthals were hairless except for our desire for them to look like us. The only way Neanderthals could have survived in the Ice Age without fur was if they made thick, protective clothes. Archeologist Mark White points out “Neanderthal clothing would have needed to be more than the ragged loincloth… of popular depiction. Some form of tailoring would have been required…” But Neanderthal sites have yielded “no evidence of needlecraft technology.” They weren’t making clothes — because they had fur.</p></li><li><p>Neanderthal skulls had extremely large eye sockets, suggesting very large eyes. That, in turn, suggests that Neanderthals were nocturnal. However the large eyes pose a problem, as Ice Age Europe would have presented Neanderthals with blinding sunlight reflected off the snow. Vendramini suggests that the Neanderthals had vertically-aligned slit pupils, which enabled them to use the full diameter of the lens in low light, while shutting out bright light by day. Nocturnal primates such as the rhesus monkey and owl monkey all have large eyes with vertically-aligned slit pupils. Vendramini suggests Neanderthals also had a tapetum lucidum (like a cat) that made their eyes shine in the dark, and had dark sclera like all other primates. </p></li><li><p>Neanderthals had distinct facial prognathism that featured large, broad noses. Vendramini argues that this suggests a “Neanderthal snout” with a dog-like nose designed for scent hunting. This was useful during nocturnal raids.</p></li><li><p>Neanderthals did not speak human languages. He quotes a September 2008 talk presented to the American Association of Physical Anthropologists: “Their large nasal cavity would have decreased the intelligibility of vowel-like sounds, and the combination of a long face, short neck, unequally-proportioned vocal tract, and large nose made it highly unlikely that Neanderthals would have been unable to produce quantal speech.” Neanderthal tongues were also not shaped to speak clearly. Overall, the evidence suggests a creature that spoke with a deep timbre with lots of guttural sounds.</p></li></ul>
  88. <p>The Neanderthal that Vendramini describes is thus a terrifying creature: A hunched cannibalistic predator with large, shining eyes and an animalistic snout, covered by thick fur and massive muscles, built for close combat, hunting by night, with a brutish and guttural voice, and a huge mouth with huge teeth and powerful jaws. It didn’t look like Fred Flintstone. It looked like this:</p>
  89. <p>That, my friends, is an orc. Or a bugbear. Or an ogre. Whatever it is, it’s been appearing in our myths and legends for thousands of years. It’s the great enemy.</p>
  90. <p><span>According to </span><em>Them and Us, </em><span>Neanderthal and Human were predator and prey — and we were the prey. The Neanderthals came upon hapless humans by night, slew our men, and carried off and raped our women. (How did you think the Neanderthal DNA got into our genome?) And they kept doing it, generation after generation. Not only were they stronger, faster, and tougher than Homo Sapiens, the Neanderthals were just as smart and as well-armed. </span></p>
  91. <p>Under assault by these flesh-eating monsters, the human race almost went extinct. Only by becoming an apex predator ourselves did we survive. We became the greatest killers the world has ever known, because if we hadn’t, we’d have died out. </p>
  92. <p>Is Vendramini’s theory correct? He cites a number of anomalies in the genetic makeup and fossil record of human beings as evidence. </p>
  93. <p>Let’s start with the genetic makeup. The most remarkable thing about the human genome is that it’s not very diverse. According to geneticist Pascal Gagneux, humans have by far the least amount of genetic variation of any primate species. “We actually found that one single group of 55 chimpanzees in West Africa has twice the genetic variability of all humans,” he reports. Another scientist, Bernard Wood, says “The amount of genetic variation that has accumulated in humans is just nowhere compatible with the age of our species.” To explain it, we must have come “within a cigarette paper’s thickness of becoming extinct,” he says. Dr. David Reich of Harvard Medical School calculated that the population of humans dropped to as few as 50 individuals. Something terrible happened to the human race.</p>
  94. <p>When did this population bottleneck occur? A number of teams have analyzed mutation rates to find out. The mutation rate in our Y chromosomes suggests the bottleneck occurred 37,000 to 49,000 years ago. The mutation rate of single-nucleotide polymorphisms suggests 48,000 years ago. Dr. Reich’s study claims 27,000 to 53,000 years ago. </p>
  95. <p><span>Now let’s turn to the fossils, specifically the collection known as the </span><a href="https://en.wikipedia.org/wiki/Skhul_and_Qafzeh_hominins" rel>Qafzeh–Skhul fossils</a><span>. Found in present-day Israel, the Qafzeh-Skhul represent among the earliest known populations of Homo Sapiens. The fossils first appeared in the Levant region around 125,000 years ago. After tens of thousands of years occupying the Levant, the Qafzeh-Skhul begin to disappear from the fossil record around 80,000 years ago. For the next thirty thousand years - that is, from around 80,000 to 50,000 years ago — the fossils in the Levantine region are mostly Neanderthal. After that, the Neanderthal fossils begin to disappear from the Levant and Homo Sapien fossils begin to reappear. </span></p>
  96. <p>The apparent timeline of Neanderthal invasion matches the apparent timeline of our genetic bottleneck. Neanderthals invaded the Levant around 80,000 years ago, and proceeded to drive the human race to the brink of doom. </p>
  97. <p>The Neanderthal is gone now, but we endure. While we live, he does too, for we still carry fragments of his DNA. And, perhaps, we carry the memory of our species’ great foe in our myths, our legends, or our Jungian collective unconsciousness. As Vendramini writes:</p>
  98. <blockquote><p>If early Greek, Roman, Norse, and Chinese mythologies are anything to go by, the legends spun by early humans centre around an heroic human (almost always a man) who is pitted against an ugly, evil cruel monster with superhuman strength… This universal mythic monster is usually male, invariably wild, hairy, dangerous, and uncouth. Often it is half-man half-animal, and tends to live in dank forests or dark caves, or emerge from the ‘underworld’ under cover of darkness… The monster is frequently a sex fiend who kidnaps and ravishes innocent maidens and fair princesses whom he drags back to his shadowy lair. It commonly feeds on human flesh, devours children, and stalks by night.</p></blockquote>
  99. <p>Long ago, orcs were real.</p>
  100. </article>
  101. <hr>
  102. <footer>
  103. <p>
  104. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  105. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  106. </svg> Accueil</a> •
  107. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  108. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  109. </svg> Suivre</a> •
  110. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  111. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  112. </svg> Pro</a> •
  113. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  114. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  115. </svg> Email</a> •
  116. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  117. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  118. </svg> Légal</abbr>
  119. </p>
  120. <template id="theme-selector">
  121. <form>
  122. <fieldset>
  123. <legend><svg class="icon icon-brightness-contrast">
  124. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  125. </svg> Thème</legend>
  126. <label>
  127. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  128. </label>
  129. <label>
  130. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  131. </label>
  132. <label>
  133. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  134. </label>
  135. </fieldset>
  136. </form>
  137. </template>
  138. </footer>
  139. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  140. <script>
  141. function loadThemeForm(templateName) {
  142. const themeSelectorTemplate = document.querySelector(templateName)
  143. const form = themeSelectorTemplate.content.firstElementChild
  144. themeSelectorTemplate.replaceWith(form)
  145. form.addEventListener('change', (e) => {
  146. const chosenColorScheme = e.target.value
  147. localStorage.setItem('theme', chosenColorScheme)
  148. toggleTheme(chosenColorScheme)
  149. })
  150. const selectedTheme = localStorage.getItem('theme')
  151. if (selectedTheme && selectedTheme !== 'undefined') {
  152. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  153. }
  154. }
  155. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  156. window.addEventListener('load', () => {
  157. let hasDarkRules = false
  158. for (const styleSheet of Array.from(document.styleSheets)) {
  159. let mediaRules = []
  160. for (const cssRule of styleSheet.cssRules) {
  161. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  162. continue
  163. }
  164. // WARNING: Safari does not have/supports `conditionText`.
  165. if (cssRule.conditionText) {
  166. if (cssRule.conditionText !== prefersColorSchemeDark) {
  167. continue
  168. }
  169. } else {
  170. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  171. continue
  172. }
  173. }
  174. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  175. }
  176. // WARNING: do not try to insert a Rule to a styleSheet you are
  177. // currently iterating on, otherwise the browser will be stuck
  178. // in a infinite loop…
  179. for (const mediaRule of mediaRules) {
  180. styleSheet.insertRule(mediaRule.cssText)
  181. hasDarkRules = true
  182. }
  183. }
  184. if (hasDarkRules) {
  185. loadThemeForm('#theme-selector')
  186. }
  187. })
  188. </script>
  189. </body>
  190. </html>