Merge inbound to central, a=merge
authorWes Kocher <wkocher@mozilla.com>
Tue, 08 Nov 2016 13:58:20 -0800
changeset 364476 783356f1476eafd8e4d6fa5f3919cf6167e84f8d
parent 364421 680094d957919bd757685e3de5fe244a5e038658 (current diff)
parent 364475 5c6db81955887e4ad32094a51a0129870cb23016 (diff)
child 364477 c6a513ee7ed2765ab74d27d711edf523ddd7f454
child 364507 5cebe2fb4f60fb153dfdd862e6805dece0e2bd07
child 364599 1d0b02250149cabcb1ed3244fa03842c90483d3a
push id6795
push userjlund@mozilla.com
push dateMon, 23 Jan 2017 14:19:46 +0000
treeherdermozilla-beta@76101b503191 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone52.0a1
first release with
nightly linux32
783356f1476e / 52.0a1 / 20161109030210 / files
nightly linux64
783356f1476e / 52.0a1 / 20161109030210 / files
nightly mac
783356f1476e / 52.0a1 / 20161109030210 / files
nightly win32
783356f1476e / 52.0a1 / 20161109030210 / files
nightly win64
783356f1476e / 52.0a1 / 20161109030210 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge inbound to central, a=merge
browser/base/content/test/general/browser_bug1124271_readerModePinnedTab.js
browser/base/content/test/general/browser_readerMode.js
browser/base/content/test/general/browser_readerMode_hidden_nodes.js
browser/base/content/test/general/readerModeArticle.html
browser/base/content/test/general/readerModeArticleHiddenNodes.html
devtools/server/actors/inspector.js
dom/media/MediaDecoder.cpp
dom/media/MediaDecoder.h
js/src/vm/make_unicode.py
layout/svg/nsSVGIntegrationUtils.cpp
security/manager/ssl/nsNSSComponent.cpp
toolkit/components/extensions/ExtensionUtils.jsm
toolkit/components/extensions/test/mochitest/test_ext_webrequest_upload.html
toolkit/components/reader/ReaderMode.jsm
toolkit/modules/addons/WebRequest.jsm
xpcom/tests/TestDeadlockDetector.cpp
xpcom/tests/TestDeadlockDetectorScalability.cpp
xpcom/tests/TestJemalloc.cpp
xpcom/tests/TestTimers.cpp
--- a/.eslintignore
+++ b/.eslintignore
@@ -111,24 +111,25 @@ devtools/client/webide/**
 !devtools/client/webide/components/webideCli.js
 devtools/server/*.js
 devtools/server/*.jsm
 !devtools/server/child.js
 !devtools/server/css-logic.js
 !devtools/server/main.js
 !devtools/server/websocket-server.js
 devtools/server/actors/**
+!devtools/server/actors/csscoverage.js
 !devtools/server/actors/inspector.js
 !devtools/server/actors/highlighters/css-grid.js
 !devtools/server/actors/highlighters/eye-dropper.js
+!devtools/server/actors/layout.js
+!devtools/server/actors/string.js
+!devtools/server/actors/styles.js
 !devtools/server/actors/webbrowser.js
 !devtools/server/actors/webextension.js
-!devtools/server/actors/styles.js
-!devtools/server/actors/string.js
-!devtools/server/actors/csscoverage.js
 devtools/server/performance/**
 devtools/server/tests/**
 devtools/shared/*.js
 !devtools/shared/async-storage.js
 !devtools/shared/async-utils.js
 !devtools/shared/defer.js
 !devtools/shared/event-emitter.js
 !devtools/shared/indentation.js
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Bug 1299615 - Update to ICU 58 requires clobber
+bug 1313485 - OS X bustage requires clobber to fix
--- a/browser/base/content/test/general/browser.ini
+++ b/browser/base/content/test/general/browser.ini
@@ -394,16 +394,17 @@ run-if = e10s
 [browser_subframe_favicons_not_used.js]
 [browser_syncui.js]
 [browser_tab_close_dependent_window.js]
 [browser_tabDrop.js]
 [browser_tabReorder.js]
 [browser_tab_detach_restore.js]
 [browser_tab_drag_drop_perwindow.js]
 [browser_tab_dragdrop.js]
+skip-if = buildapp == 'mulet' || (e10s && debug) # Bug 1312436
 [browser_tab_dragdrop2.js]
 [browser_tabbar_big_widgets.js]
 skip-if = os == "linux" || os == "mac" # No tabs in titlebar on linux
                                        # Disabled on OS X because of bug 967917
 [browser_tabfocus.js]
 [browser_tabkeynavigation.js]
 skip-if = (os == "mac" && !e10s) # Bug 1237713 - OSX eats keypresses for some reason
 [browser_tabopen_reflows.js]
@@ -475,26 +476,16 @@ tags = mcb
 [browser_e10s_javascript.js]
 [browser_blockHPKP.js]
 tags = psm
 [browser_mcb_redirect.js]
 tags = mcb
 [browser_windowactivation.js]
 [browser_contextmenu_childprocess.js]
 [browser_bug963945.js]
-[browser_readerMode.js]
-support-files =
-  readerModeArticle.html
-  readerModeArticleHiddenNodes.html
-[browser_readerMode_hidden_nodes.js]
-support-files =
-  readerModeArticleHiddenNodes.html
-[browser_bug1124271_readerModePinnedTab.js]
-support-files =
-  readerModeArticle.html
 [browser_domFullscreen_fullscreenMode.js]
 tags = fullscreen
 [browser_menuButtonBadgeManager.js]
 [browser_aboutTabCrashed.js]
 skip-if = !e10s || !crashreporter
 [browser_aboutTabCrashed_clearEmail.js]
 skip-if = !e10s || !crashreporter
 [browser_newTabDrop.js]
--- a/browser/base/content/test/plugins/browser_bug743421.js
+++ b/browser/base/content/test/plugins/browser_bug743421.js
@@ -83,21 +83,21 @@ add_task(function* () {
   });
 });
 
 add_task(function* () {
   yield ContentTask.spawn(gTestBrowser, {}, function* () {
     let plugin = content.document.getElementsByTagName("embed")[1];
     let objLoadingContent = plugin.QueryInterface(Ci.nsIObjectLoadingContent);
     Assert.ok(objLoadingContent.activated, "Test 1d, Plugin should be activated");
+
+    let promise = ContentTaskUtils.waitForEvent(content, "hashchange");
+    content.location += "#anchorNavigation";
+    yield promise;
   });
-
-  let promise = waitForEvent(gTestBrowser.contentWindow, "hashchange", null);
-  gTestBrowser.contentWindow.location += "#anchorNavigation";
-  yield promise;
 });
 
 add_task(function* () {
   yield ContentTask.spawn(gTestBrowser, {}, function* () {
     new XPCNativeWrapper(XPCNativeWrapper.unwrap(content).addPlugin());
     let plugin = content.document.getElementsByTagName("embed")[2];
     let objLoadingContent = plugin.QueryInterface(Ci.nsIObjectLoadingContent);
     Assert.ok(objLoadingContent.activated, "Test 1e, Plugin should be activated");
--- a/browser/base/content/test/plugins/browser_bug797677.js
+++ b/browser/base/content/test/plugins/browser_bug797677.js
@@ -30,12 +30,14 @@ add_task(function* () {
   consoleService.registerListener(errorListener);
 
   yield promiseTabLoadEvent(gBrowser.selectedTab, gTestRoot + "plugin_bug797677.html");
 
   let pluginInfo = yield promiseForPluginInfo("plugin");
   is(pluginInfo.pluginFallbackType, Ci.nsIObjectLoadingContent.PLUGIN_UNSUPPORTED, "plugin should not have been found.");
 
   // simple cpows
-  let plugin = gTestBrowser.contentDocument.getElementById("plugin");
-  ok(plugin, "plugin should be in the page");
+  yield ContentTask.spawn(gTestBrowser, null, function() {
+    let plugin = content.document.getElementById("plugin");
+    ok(plugin, "plugin should be in the page");
+  });
   is(gConsoleErrors, 0, "should have no console errors");
 });
--- a/browser/base/content/test/plugins/browser_bug818118.js
+++ b/browser/base/content/test/plugins/browser_bug818118.js
@@ -28,11 +28,13 @@ add_task(function* () {
 
   let popupNotification = PopupNotifications.getNotification("click-to-play-plugins", gTestBrowser);
   ok(popupNotification, "should have a click-to-play notification");
 
   let pluginInfo = yield promiseForPluginInfo("test");
   is(pluginInfo.pluginFallbackType, Ci.nsIObjectLoadingContent.PLUGIN_CLICK_TO_PLAY, "plugin should be click to play");
   ok(!pluginInfo.activated, "plugin should not be activated");
 
-  let unknown = gTestBrowser.contentDocument.getElementById("unknown");
-  ok(unknown, "should have unknown plugin in page");
+  yield ContentTask.spawn(gTestBrowser, null, () => {
+    let unknown = content.document.getElementById("unknown");
+    ok(unknown, "should have unknown plugin in page");
+  });
 });
--- a/browser/base/content/test/plugins/browser_bug820497.js
+++ b/browser/base/content/test/plugins/browser_bug820497.js
@@ -24,49 +24,47 @@ add_task(function* () {
   setTestPluginEnabledState(Ci.nsIPluginTag.STATE_CLICKTOPLAY, "Second Test Plug-in");
 
   gTestBrowser.addEventListener("PluginBindingAttached", function () { gNumPluginBindingsAttached++ }, true, true);
 
   yield promiseTabLoadEvent(gBrowser.selectedTab, gTestRoot + "plugin_bug820497.html");
 
   yield promiseForCondition(function () { return gNumPluginBindingsAttached == 1; });
 
-  // cpows
-  {
+  yield ContentTask.spawn(gTestBrowser, null, () => {
     // Note we add the second plugin in the code farther down, so there's
     // no way we got here with anything but one plugin loaded.
-    let doc = gTestBrowser.contentDocument;
+    let doc = content.document;
     let testplugin = doc.getElementById("test");
     ok(testplugin, "should have test plugin");
     let secondtestplugin = doc.getElementById("secondtest");
     ok(!secondtestplugin, "should not yet have second test plugin");
-  }
+  });
 
   yield promisePopupNotification("click-to-play-plugins");
   let notification = PopupNotifications.getNotification("click-to-play-plugins", gTestBrowser);
   ok(notification, "should have a click-to-play notification");
 
   yield promiseForNotificationShown(notification);
 
   is(notification.options.pluginData.size, 1, "should be 1 type of plugin in the popup notification");
 
   yield ContentTask.spawn(gTestBrowser, {}, function* () {
     XPCNativeWrapper.unwrap(content).addSecondPlugin();
   });
 
   yield promiseForCondition(function () { return gNumPluginBindingsAttached == 2; });
 
-  // cpows
-  {
-    let doc = gTestBrowser.contentDocument;
+  yield ContentTask.spawn(gTestBrowser, null, () => {
+    let doc = content.document;
     let testplugin = doc.getElementById("test");
     ok(testplugin, "should have test plugin");
     let secondtestplugin = doc.getElementById("secondtest");
     ok(secondtestplugin, "should have second test plugin");
-  }
+  });
 
   notification = PopupNotifications.getNotification("click-to-play-plugins", gTestBrowser);
 
   ok(notification, "should have popup notification");
 
   yield promiseForNotificationShown(notification);
 
   is(notification.options.pluginData.size, 2, "aited too long for 2 types of plugins in popup notification");
--- a/browser/base/content/test/urlbar/browser_bug623155.js
+++ b/browser/base/content/test/urlbar/browser_bug623155.js
@@ -103,19 +103,20 @@ var gWebProgressListener = {
 };
 
 function delayed(aIsSelectedTab) {
   // Switch tab and confirm URL bar.
   if (!aIsSelectedTab) {
     gBrowser.selectedTab = gNewTab;
   }
 
-  ok(isRedirectedURISpec(content.location.href),
+  let currentURI = gBrowser.selectedBrowser.currentURI.spec;
+  ok(isRedirectedURISpec(currentURI),
      "The content area is redirected. aIsSelectedTab:" + aIsSelectedTab);
-  is(gURLBar.value, content.location.href,
+  is(gURLBar.value, currentURI,
      "The URL bar shows the content URI. aIsSelectedTab:" + aIsSelectedTab);
 
   if (!aIsSelectedTab) {
     // If this was a background request, go on a foreground request.
     gBrowser.selectedBrowser.loadURI(REDIRECT_FROM + "#FG");
   }
   else {
     // Othrewise, nothing to do remains.
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -560,17 +560,17 @@ toolbarpaletteitem[place="palette"] > to
   position: relative;
   top: 25%;
 }
 
 #PanelUI-update-status[update-status]::after {
   content: "";
   width: 14px;
   height: 14px;
-  margin-right: 16.5px;
+  margin-inline-end: 16.5px;
   box-shadow: 0px 1px 0px rgba(255,255,255,.2) inset, 0px -1px 0px rgba(0,0,0,.1) inset, 0px 1px 0px rgba(12,27,38,.2);
   border-radius: 2px;
   background-size: contain;
   display: -moz-box;
 }
 
 #PanelUI-update-status[update-status="succeeded"]::after {
   background-image: url(chrome://browser/skin/update-badge.svg);
--- a/caps/nsScriptSecurityManager.cpp
+++ b/caps/nsScriptSecurityManager.cpp
@@ -332,17 +332,21 @@ nsresult
 nsScriptSecurityManager::GetChannelResultPrincipal(nsIChannel* aChannel,
                                                    nsIPrincipal** aPrincipal,
                                                    bool aIgnoreSandboxing)
 {
     NS_PRECONDITION(aChannel, "Must have channel!");
     // Check whether we have an nsILoadInfo that says what we should do.
     nsCOMPtr<nsILoadInfo> loadInfo = aChannel->GetLoadInfo();
     if (loadInfo && loadInfo->GetForceInheritPrincipalOverruleOwner()) {
-      NS_ADDREF(*aPrincipal = loadInfo->PrincipalToInherit());
+      nsCOMPtr<nsIPrincipal> principalToInherit = loadInfo->PrincipalToInherit();
+      if (!principalToInherit) {
+        principalToInherit = loadInfo->TriggeringPrincipal();
+      }
+      principalToInherit.forget(aPrincipal);
       return NS_OK;
     }
 
     nsCOMPtr<nsISupports> owner;
     aChannel->GetOwner(getter_AddRefs(owner));
     if (owner) {
         CallQueryInterface(owner, aPrincipal);
         if (*aPrincipal) {
@@ -372,29 +376,36 @@ nsScriptSecurityManager::GetChannelResul
           // Check if SEC_FORCE_INHERIT_PRINCIPAL was dropped because of
           // sandboxing:
           if (loadInfo->GetLoadingSandboxed() &&
               loadInfo->GetForceInheritPrincipalDropped()) {
             forceInherit = true;
           }
         }
         if (forceInherit) {
-            NS_ADDREF(*aPrincipal = loadInfo->PrincipalToInherit());
+            nsCOMPtr<nsIPrincipal> principalToInherit = loadInfo->PrincipalToInherit();
+            if (!principalToInherit) {
+              principalToInherit = loadInfo->TriggeringPrincipal();
+            }
+            principalToInherit.forget(aPrincipal);
             return NS_OK;
         }
 
         nsSecurityFlags securityFlags = loadInfo->GetSecurityMode();
         if (securityFlags == nsILoadInfo::SEC_REQUIRE_SAME_ORIGIN_DATA_INHERITS ||
             securityFlags == nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_INHERITS ||
             securityFlags == nsILoadInfo::SEC_REQUIRE_CORS_DATA_INHERITS) {
 
             nsCOMPtr<nsIURI> uri;
             nsresult rv = NS_GetFinalChannelURI(aChannel, getter_AddRefs(uri));
             NS_ENSURE_SUCCESS(rv, rv); 
             nsCOMPtr<nsIPrincipal> principalToInherit = loadInfo->PrincipalToInherit();
+            if (!principalToInherit) {
+              principalToInherit = loadInfo->TriggeringPrincipal();
+            }
             bool inheritForAboutBlank = loadInfo->GetAboutBlankInherits();
 
             if (nsContentUtils::ChannelShouldInheritPrincipal(principalToInherit,
                                                               uri,
                                                               inheritForAboutBlank,
                                                               false)) {
                 principalToInherit.forget(aPrincipal);
                 return NS_OK;
--- a/devtools/client/inspector/test/browser_inspector_highlighter-selector_01.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-selector_01.js
@@ -32,16 +32,18 @@ const TEST_DATA = [{
 }, {
   selector: ".item",
   containerCount: 5
 }, {
   selector: "#test-node, ul, .item",
   containerCount: 7
 }];
 
+requestLongerTimeout(5);
+
 add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("SelectorHighlighter");
 
   let contextNode = yield getNodeFront("body", inspector);
 
   for (let {selector, containerCount} of TEST_DATA) {
--- a/devtools/client/inspector/test/browser_inspector_highlighter-selector_02.js
+++ b/devtools/client/inspector/test/browser_inspector_highlighter-selector_02.js
@@ -25,16 +25,18 @@ const TEST_DATA = [{
   selector: ".root-level-node",
   containerCount: 0
 }, {
   inIframe: true,
   selector: ".sub-level-node",
   containerCount: 1
 }];
 
+requestLongerTimeout(5);
+
 add_task(function* () {
   let {inspector, testActor} = yield openInspectorForURL(TEST_URL);
   let front = inspector.inspector;
   let highlighter = yield front.getHighlighterByType("SelectorHighlighter");
 
   for (let {inIframe, selector, containerCount} of TEST_DATA) {
     info("Showing the highlighter on " + selector + ". Expecting " +
       containerCount + " highlighter containers");
--- a/devtools/client/webconsole/test/head.js
+++ b/devtools/client/webconsole/test/head.js
@@ -56,24 +56,17 @@ function loadTab(url) {
     browser.removeEventListener("load", onLoad, true);
     deferred.resolve({tab: tab, browser: browser});
   }, true);
 
   return deferred.promise;
 }
 
 function loadBrowser(browser) {
-  let deferred = promise.defer();
-
-  browser.addEventListener("load", function onLoad() {
-    browser.removeEventListener("load", onLoad, true);
-    deferred.resolve(null);
-  }, true);
-
-  return deferred.promise;
+  return BrowserTestUtils.browserLoaded(browser);
 }
 
 function closeTab(tab) {
   let deferred = promise.defer();
 
   let container = gBrowser.tabContainer;
 
   container.addEventListener("TabClose", function onTabClose() {
--- a/devtools/server/actors/highlighters/css-grid.js
+++ b/devtools/server/actors/highlighters/css-grid.js
@@ -1,28 +1,28 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
-const { Cu } = require("chrome");
+const Services = require("Services");
 const { extend } = require("sdk/core/heritage");
 const { AutoRefreshHighlighter } = require("./auto-refresh");
 const {
   CanvasFrameAnonymousContentHelper,
   createNode,
   createSVGNode,
   moveInfobar,
 } = require("./utils/markup");
 const {
   getCurrentZoom,
   setIgnoreLayoutChanges
 } = require("devtools/shared/layout/utils");
-const Services = require("Services");
+const { stringifyGridFragments } = require("devtools/server/actors/utils/css-grid-utils");
 
 const CSS_GRID_ENABLED_PREF = "layout.css.grid.enabled";
 const ROWS = "rows";
 const COLUMNS = "cols";
 const GRID_LINES_PROPERTIES = {
   "edge": {
     lineDash: [0, 0],
     strokeStyle: "#4B0082"
@@ -713,47 +713,10 @@ CssGridHighlighter.prototype = extend(Au
     this.getElement("infobar-container").setAttribute("hidden", "true");
   },
 
   _showInfoBar() {
     this.getElement("infobar-container").removeAttribute("hidden");
   },
 
 });
+
 exports.CssGridHighlighter = CssGridHighlighter;
-
-/**
- * Stringify CSS Grid data as returned by node.getGridFragments.
- * This is useful to compare grid state at each update and redraw the highlighter if
- * needed.
- *
- * @param  {Object} Grid Fragments
- * @return {String} representation of the CSS grid fragment data.
- */
-function stringifyGridFragments(fragments = []) {
-  if (fragments[0] && Cu.isDeadWrapper(fragments[0])) {
-    return {};
-  }
-
-  return JSON.stringify(fragments.map(getStringifiableFragment));
-}
-
-function getStringifiableFragment(fragment) {
-  return {
-    cols: getStringifiableDimension(fragment.cols),
-    rows: getStringifiableDimension(fragment.rows)
-  };
-}
-
-function getStringifiableDimension(dimension) {
-  return {
-    lines: [...dimension.lines].map(getStringifiableLine),
-    tracks: [...dimension.tracks].map(getStringifiableTrack),
-  };
-}
-
-function getStringifiableLine({ breadth, number, start, names }) {
-  return { breadth, number, start, names };
-}
-
-function getStringifiableTrack({ breadth, start, state, type }) {
-  return { breadth, start, state, type };
-}
--- a/devtools/server/actors/inspector.js
+++ b/devtools/server/actors/inspector.js
@@ -48,16 +48,17 @@
  * So to be able to answer "all the children of a given node that we have
  * seen on the client side", we guarantee that every time we've seen a node,
  * we connect it up through its parents.
  */
 
 const {Cc, Ci, Cu} = require("chrome");
 const Services = require("Services");
 const protocol = require("devtools/shared/protocol");
+const {LayoutActor} = require("devtools/server/actors/layout");
 const {LongStringActor} = require("devtools/server/actors/string");
 const promise = require("promise");
 const {Task} = require("devtools/shared/task");
 const events = require("sdk/event/core");
 const {WalkerSearch} = require("devtools/server/actors/utils/walker-search");
 const {PageStyleActor, getFontPreviewData} = require("devtools/server/actors/styles");
 const {
   HighlighterActor,
@@ -910,16 +911,17 @@ var WalkerActor = protocol.ActorClassWit
       this.layoutChangeObserver = null;
       releaseLayoutChangesObserver(this.tabActor);
 
       eventListenerService.removeListenerChangeListener(
         this._onEventListenerChange);
 
       this.onMutations = null;
 
+      this.layoutActor = null;
       this.tabActor = null;
 
       events.emit(this, "destroyed");
     } catch (e) {
       console.error(e);
     }
   },
 
@@ -2592,16 +2594,30 @@ var WalkerActor = protocol.ActorClassWit
       if (!(name in obj)) {
         return null;
       }
       obj = obj[name];
     }
 
     return this.attachElement(obj);
   },
+
+  /**
+   * Returns an instance of the LayoutActor that is used to retrieve CSS layout-related
+   * information.
+   *
+   * @return {LayoutActor}
+   */
+  getLayoutInspector: function () {
+    if (!this.layoutActor) {
+      this.layoutActor = new LayoutActor(this.conn, this.tabActor, this);
+    }
+
+    return this.layoutActor;
+  },
 });
 
 /**
  * Server side of the inspector actor, which is used to create
  * inspector-related actors, including the walker.
  */
 exports.InspectorActor = protocol.ActorClassWithSpec(inspectorSpec, {
   initialize: function (conn, tabActor) {
new file mode 100644
--- /dev/null
+++ b/devtools/server/actors/layout.js
@@ -0,0 +1,131 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { Actor, ActorClassWithSpec } = require("devtools/shared/protocol");
+const { gridSpec, layoutSpec } = require("devtools/shared/specs/layout");
+const { getStringifiableFragments } = require("devtools/server/actors/utils/css-grid-utils");
+
+/**
+ * Set of actors the expose the CSS layout information to the devtools protocol clients.
+ *
+ * The |Layout| actor is the main entry point. It is used to get various CSS
+ * layout-related information from the document.
+ *
+ * The |Grid| actor provides the grid fragment information to inspect the grid container.
+ */
+
+/**
+ * The GridActor provides information about a given grid's fragment data.
+ */
+var GridActor = ActorClassWithSpec(gridSpec, {
+  /**
+   * @param  {LayoutActor} layoutActor
+   *         The LayoutActor instance.
+   * @param  {DOMNode} containerEl
+   *         The grid container element.
+   */
+  initialize: function (layoutActor, containerEl) {
+    Actor.prototype.initialize.call(this, layoutActor.conn);
+
+    this.containerEl = containerEl;
+    this.walker = layoutActor.walker;
+  },
+
+  destroy: function () {
+    Actor.prototype.destroy.call(this);
+
+    this.containerEl = null;
+    this.gridFragments = null;
+    this.walker = null;
+  },
+
+  form: function (detail) {
+    if (detail === "actorid") {
+      return this.actorID;
+    }
+
+    // Seralize the grid fragment data into JSON so protocol.js knows how to write
+    // and read the data.
+    let gridFragments = this.containerEl.getGridFragments();
+    this.gridFragments = getStringifiableFragments(gridFragments);
+
+    let form = {
+      actor: this.actorID,
+      gridFragments: this.gridFragments
+    };
+
+    return form;
+  },
+});
+
+/**
+ * The CSS layout actor provides layout information for the given document.
+ */
+var LayoutActor = ActorClassWithSpec(layoutSpec, {
+  initialize: function (conn, tabActor, walker) {
+    Actor.prototype.initialize.call(this, conn);
+
+    this.tabActor = tabActor;
+    this.walker = walker;
+  },
+
+  destroy: function () {
+    Actor.prototype.destroy.call(this);
+
+    this.tabActor = null;
+    this.walker = null;
+  },
+
+  /**
+   * Returns an array of GridActor objects for all the grid containers found by iterating
+   * below the given rootNode.
+   *
+   * @param  {Node|NodeActor} rootNode
+   *         The root node to start iterating at.
+   * @return {Array} An array of GridActor objects.
+   */
+  getGrids: function (rootNode) {
+    let grids = [];
+
+    let treeWalker = this.walker.getDocumentWalker(rootNode);
+    while (treeWalker.nextNode()) {
+      let currentNode = treeWalker.currentNode;
+
+      if (currentNode.getGridFragments && currentNode.getGridFragments().length > 0) {
+        let gridActor = new GridActor(this, currentNode);
+        grids.push(gridActor);
+      }
+    }
+
+    return grids;
+  },
+
+  /**
+   * Returns an array of GridActor objects for all existing grid containers found by
+   * iterating below the given rootNode and optionally including nested frames.
+   *
+   * @param  {NodeActor} rootNode
+   * @param  {Boolean} traverseFrames
+   *         Whether or not we should iterate through nested frames.
+   * @return {Array} An array of GridActor objects.
+   */
+  getAllGrids: function (rootNode, traverseFrames) {
+    if (!traverseFrames) {
+      return this.getGridActors(rootNode);
+    }
+
+    let grids = [];
+    for (let {document} of this.tabActor.windows) {
+      grids = [...grids, ...this.getGrids(document.documentElement)];
+    }
+
+    return grids;
+  },
+
+});
+
+exports.GridActor = GridActor;
+exports.LayoutActor = LayoutActor;
--- a/devtools/server/actors/moz.build
+++ b/devtools/server/actors/moz.build
@@ -32,16 +32,17 @@ DevToolsModules(
     'eventlooplag.js',
     'frame.js',
     'framerate.js',
     'gcli.js',
     'heap-snapshot-file.js',
     'highlighters.css',
     'highlighters.js',
     'inspector.js',
+    'layout.js',
     'memory.js',
     'monitor.js',
     'object.js',
     'performance-entries.js',
     'performance-recording.js',
     'performance.js',
     'preference.js',
     'pretty-print-worker.js',
new file mode 100644
--- /dev/null
+++ b/devtools/server/actors/utils/css-grid-utils.js
@@ -0,0 +1,61 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { Cu } = require("chrome");
+
+/**
+ * Returns the grid fragment array with all the grid fragment data stringifiable.
+ *
+ * @param  {Object} fragments
+ *         Grid fragment object.
+ * @return {Array} representation with the grid fragment data stringifiable.
+ */
+function getStringifiableFragments(fragments = []) {
+  if (fragments[0] && Cu.isDeadWrapper(fragments[0])) {
+    return {};
+  }
+
+  return fragments.map(getStringifiableFragment);
+}
+
+/**
+ * Returns a string representation of the CSS Grid data as returned by
+ * node.getGridFragments. This is useful to compare grid state at each update and redraw
+ * the highlighter if needed. It also seralizes the grid fragment data so it can be used
+ * by protocol.js.
+ *
+ * @param  {Object} fragments
+ *         Grid fragment object.
+ * @return {String} representation of the CSS grid fragment data.
+ */
+function stringifyGridFragments(fragments) {
+  return JSON.stringify(getStringifiableFragments(fragments));
+}
+
+function getStringifiableFragment(fragment) {
+  return {
+    cols: getStringifiableDimension(fragment.cols),
+    rows: getStringifiableDimension(fragment.rows)
+  };
+}
+
+function getStringifiableDimension(dimension) {
+  return {
+    lines: [...dimension.lines].map(getStringifiableLine),
+    tracks: [...dimension.tracks].map(getStringifiableTrack),
+  };
+}
+
+function getStringifiableLine({ breadth, number, start, names }) {
+  return { breadth, number, start, names };
+}
+
+function getStringifiableTrack({ breadth, start, state, type }) {
+  return { breadth, start, state, type };
+}
+
+exports.getStringifiableFragments = getStringifiableFragments;
+exports.stringifyGridFragments = stringifyGridFragments;
--- a/devtools/server/actors/utils/moz.build
+++ b/devtools/server/actors/utils/moz.build
@@ -3,16 +3,17 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DevToolsModules(
     'actor-registry-utils.js',
     'audionodes.json',
     'automation-timeline.js',
+    'css-grid-utils.js',
     'make-debugger.js',
     'map-uri-to-addon-id.js',
     'stack.js',
     'TabSources.js',
     'walker-search.js',
     'webconsole-utils.js',
     'webconsole-worker-utils.js',
 )
--- a/devtools/shared/fronts/inspector.js
+++ b/devtools/shared/fronts/inspector.js
@@ -1,15 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 require("devtools/shared/fronts/styles");
 require("devtools/shared/fronts/highlighters");
+require("devtools/shared/fronts/layout");
 const { SimpleStringFront } = require("devtools/shared/fronts/string");
 const {
   Front,
   FrontClassWithSpec,
   custom,
   preEvent,
   types
 } = require("devtools/shared/protocol.js");
new file mode 100644
--- /dev/null
+++ b/devtools/shared/fronts/layout.js
@@ -0,0 +1,30 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { FrontClassWithSpec } = require("devtools/shared/protocol");
+const { gridSpec, layoutSpec } = require("devtools/shared/specs/layout");
+
+const GridFront = FrontClassWithSpec(gridSpec, {
+  form: function (form, detail) {
+    if (detail === "actorid") {
+      this.actorID = form;
+      return;
+    }
+    this._form = form;
+  },
+
+  /**
+   * Getter for the grid fragments data.
+   */
+  get gridFragments() {
+    return this._form.gridFragments;
+  }
+});
+
+const LayoutFront = FrontClassWithSpec(layoutSpec, {});
+
+exports.GridFront = GridFront;
+exports.LayoutFront = LayoutFront;
--- a/devtools/shared/fronts/moz.build
+++ b/devtools/shared/fronts/moz.build
@@ -16,16 +16,17 @@ DevToolsModules(
     'director-manager.js',
     'director-registry.js',
     'emulation.js',
     'eventlooplag.js',
     'framerate.js',
     'gcli.js',
     'highlighters.js',
     'inspector.js',
+    'layout.js',
     'memory.js',
     'performance-entries.js',
     'performance-recording.js',
     'performance.js',
     'preference.js',
     'profiler.js',
     'promises.js',
     'reflow.js',
--- a/devtools/shared/specs/inspector.js
+++ b/devtools/shared/specs/inspector.js
@@ -8,16 +8,17 @@ const {
   Option,
   RetVal,
   generateActorSpec,
   types
 } = require("devtools/shared/protocol");
 const { nodeSpec } = require("devtools/shared/specs/node");
 require("devtools/shared/specs/styles");
 require("devtools/shared/specs/highlighters");
+require("devtools/shared/specs/layout");
 
 exports.nodeSpec = nodeSpec;
 
 /**
  * Returned from any call that might return a node that isn't connected to root
  * by nodes the child has seen, such as querySelector.
  */
 types.addDictType("disconnectedNode", {
@@ -361,16 +362,22 @@ const walkerSpec = generateActorSpec({
     getNodeFromActor: {
       request: {
         actorID: Arg(0, "string"),
         path: Arg(1, "array:string")
       },
       response: {
         node: RetVal("nullable:disconnectedNode")
       }
+    },
+    getLayoutInspector: {
+      request: {},
+      response: {
+        actor: RetVal("layout")
+      }
     }
   }
 });
 
 exports.walkerSpec = walkerSpec;
 
 const inspectorSpec = generateActorSpec({
   typeName: "inspector",
new file mode 100644
--- /dev/null
+++ b/devtools/shared/specs/layout.js
@@ -0,0 +1,33 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { Arg, generateActorSpec, RetVal } = require("devtools/shared/protocol");
+require("devtools/shared/specs/node");
+
+const gridSpec = generateActorSpec({
+  typeName: "grid",
+
+  methods: {},
+});
+
+const layoutSpec = generateActorSpec({
+  typeName: "layout",
+
+  methods: {
+    getAllGrids: {
+      request: {
+        rootNode: Arg(0, "domnode"),
+        traverseFrames: Arg(1, "boolean")
+      },
+      response: {
+        grids: RetVal("array:grid")
+      }
+    }
+  },
+});
+
+exports.gridSpec = gridSpec;
+exports.layoutSpec = layoutSpec;
--- a/devtools/shared/specs/moz.build
+++ b/devtools/shared/specs/moz.build
@@ -20,16 +20,17 @@ DevToolsModules(
     'environment.js',
     'eventlooplag.js',
     'frame.js',
     'framerate.js',
     'gcli.js',
     'heap-snapshot-file.js',
     'highlighters.js',
     'inspector.js',
+    'layout.js',
     'memory.js',
     'node.js',
     'performance-entries.js',
     'performance-recording.js',
     'performance.js',
     'preference.js',
     'profiler.js',
     'promises.js',
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -1501,16 +1501,36 @@ nsDocShell::LoadURI(nsIURI* aURI,
     inheritPrincipal = nsContentUtils::LegacyIsCallerChromeOrNativeCode();
   }
 
   if (aLoadFlags & LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL) {
     inheritPrincipal = false;
     principalToInherit = nsNullPrincipal::CreateWithInheritedAttributes(this);
   }
 
+  // If the triggeringPrincipal is not passed explicitly, we first try to create
+  // a principal from the referrer, since the referrer URI reflects the web origin
+  // that triggered the load. If there is no referrer URI, we fall back to using
+  // the SystemPrincipal. It's safe to assume that no provided triggeringPrincipal
+  // and no referrer simulate a load that was triggered by the system.
+  // It's important to note that this block of code needs to appear *after* the block
+  // where we munge the principalToInherit, because otherwise we would never enter
+  // code blocks checking if the principalToInherit is null and we will end up with
+  // a wrong inheritPrincipal flag.
+  if (!triggeringPrincipal) {
+    if (referrer) {
+      nsresult rv = CreatePrincipalFromReferrer(referrer,
+                                                getter_AddRefs(triggeringPrincipal));
+      NS_ENSURE_SUCCESS(rv, rv);
+    }
+    else {
+      triggeringPrincipal = nsContentUtils::GetSystemPrincipal();
+    }
+  }
+
   uint32_t flags = 0;
 
   if (inheritPrincipal) {
     flags |= INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL;
   }
 
   if (!sendReferrer) {
     flags |= INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER;
@@ -5324,17 +5344,18 @@ nsDocShell::LoadErrorPage(nsIURI* aURI, 
   errorPageUrl.AppendASCII(escapedDescription.get());
 
   nsCOMPtr<nsIURI> errorPageURI;
   rv = NS_NewURI(getter_AddRefs(errorPageURI), errorPageUrl);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return InternalLoad(errorPageURI, nullptr, false, nullptr,
                       mozilla::net::RP_Default,
-                      nullptr, nullptr, INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL, EmptyString(),
+                      nsContentUtils::GetSystemPrincipal(), nullptr,
+                      INTERNAL_LOAD_FLAGS_NONE, EmptyString(),
                       nullptr, NullString(), nullptr, nullptr, LOAD_ERROR_PAGE,
                       nullptr, true, NullString(), this, nullptr, nullptr,
                       nullptr);
 }
 
 NS_IMETHODIMP
 nsDocShell::Reload(uint32_t aReloadFlags)
 {
@@ -5367,52 +5388,56 @@ nsDocShell::Reload(uint32_t aReloadFlags
   /* If you change this part of code, make sure bug 45297 does not re-occur */
   if (mOSHE) {
     rv = LoadHistoryEntry(mOSHE, loadType);
   } else if (mLSHE) { // In case a reload happened before the current load is done
     rv = LoadHistoryEntry(mLSHE, loadType);
   } else {
     nsCOMPtr<nsIDocument> doc(GetDocument());
 
+    if (!doc) {
+      return NS_OK;
+    }
+
     // Do not inherit owner from document
     uint32_t flags = INTERNAL_LOAD_FLAGS_NONE;
     nsAutoString srcdoc;
-    nsIPrincipal* principal = nullptr;
-    nsAutoString contentTypeHint;
     nsCOMPtr<nsIURI> baseURI;
     nsCOMPtr<nsIURI> originalURI;
     bool loadReplace = false;
-    if (doc) {
-      principal = doc->NodePrincipal();
-      doc->GetContentType(contentTypeHint);
-
-      if (doc->IsSrcdocDocument()) {
-        doc->GetSrcdocData(srcdoc);
-        flags |= INTERNAL_LOAD_FLAGS_IS_SRCDOC;
-        baseURI = doc->GetBaseURI();
-      }
-      nsCOMPtr<nsIChannel> chan = doc->GetChannel();
-      if (chan) {
-        uint32_t loadFlags;
-        chan->GetLoadFlags(&loadFlags);
-        loadReplace = loadFlags & nsIChannel::LOAD_REPLACE;
-        nsCOMPtr<nsIHttpChannel> httpChan(do_QueryInterface(chan));
-        if (httpChan) {
-          httpChan->GetOriginalURI(getter_AddRefs(originalURI));
-        }
-      }
-    }
+
+    nsIPrincipal* triggeringPrincipal = doc->NodePrincipal();
+    nsAutoString contentTypeHint;
+    doc->GetContentType(contentTypeHint);
+
+    if (doc->IsSrcdocDocument()) {
+      doc->GetSrcdocData(srcdoc);
+      flags |= INTERNAL_LOAD_FLAGS_IS_SRCDOC;
+      baseURI = doc->GetBaseURI();
+    }
+    nsCOMPtr<nsIChannel> chan = doc->GetChannel();
+    if (chan) {
+      uint32_t loadFlags;
+      chan->GetLoadFlags(&loadFlags);
+      loadReplace = loadFlags & nsIChannel::LOAD_REPLACE;
+      nsCOMPtr<nsIHttpChannel> httpChan(do_QueryInterface(chan));
+      if (httpChan) {
+        httpChan->GetOriginalURI(getter_AddRefs(originalURI));
+      }
+    }
+
+    MOZ_ASSERT(triggeringPrincipal, "Need a valid triggeringPrincipal");
 
     rv = InternalLoad(mCurrentURI,
                       originalURI,
                       loadReplace,
                       mReferrerURI,
                       mReferrerPolicy,
-                      principal,
-                      principal,
+                      triggeringPrincipal,
+                      triggeringPrincipal,
                       flags,
                       EmptyString(),   // No window target
                       NS_LossyConvertUTF16toASCII(contentTypeHint).get(),
                       NullString(),    // No forced download
                       nullptr,         // No post data
                       nullptr,         // No headers data
                       loadType,        // Load type
                       nullptr,         // No SHEntry
@@ -9650,29 +9675,17 @@ nsDocShell::InternalLoad(nsIURI* aURI,
                          nsISHEntry* aSHEntry,
                          bool aFirstParty,
                          const nsAString& aSrcdoc,
                          nsIDocShell* aSourceDocShell,
                          nsIURI* aBaseURI,
                          nsIDocShell** aDocShell,
                          nsIRequest** aRequest)
 {
-  // In most cases both principals (aTriggeringPrincipal and aPrincipalToInherit)
-  // are both null or both non-null. For the exceptional cases let's make sure that:
-  // * if aTriggeringPrincipal is null then either aPrincipalToInherit is null or
-  //   it's a NullPrincipal
-  // * if aPrincipalToInherit is null then either aTriggeringPrincipal is null or
-  //   it's a NullPrincipal or INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL is set.
-  MOZ_ASSERT(aTriggeringPrincipal ||
-             (!aPrincipalToInherit ||
-              aPrincipalToInherit->GetIsNullPrincipal()));
-  MOZ_ASSERT(aPrincipalToInherit ||
-             (!aTriggeringPrincipal ||
-              aTriggeringPrincipal->GetIsNullPrincipal() ||
-              (aFlags & INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL)));
+  MOZ_ASSERT(aTriggeringPrincipal, "need a valid TriggeringPrincipal");
 
   nsresult rv = NS_OK;
   mOriginalUriString.Truncate();
 
   if (gDocShellLeakLog && MOZ_LOG_TEST(gDocShellLeakLog, LogLevel::Debug)) {
     PR_LogPrint("DOCSHELL %p InternalLoad %s\n",
                 this, aURI ? aURI->GetSpecOrDefault().get() : "");
   }
@@ -9861,36 +9874,22 @@ nsDocShell::InternalLoad(nsIURI* aURI,
   // done by someone from chrome manually messing with our nsIWebNavigation
   // or by C++ setting document.location) don't get a funky principal.  If
   // callers want something interesting to happen with the about:blank
   // principal in this case, they should pass aPrincipalToInherit in.
   //
   {
     bool inherits;
     // One more twist: Don't inherit the principal for external loads.
-    if (!principalToInherit && 
-        NS_SUCCEEDED(nsContentUtils::URIInheritsSecurityContext(aURI,
-                                                                &inherits)) &&
-        inherits) {
-      if (aLoadType != LOAD_NORMAL_EXTERNAL && 
-          (aFlags & INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL)) {
-        principalToInherit = GetInheritedPrincipal(true);
-      }
-
-      // In case we don't have a principalToInherit and the TriggeringPrincipal
-      // either already is a SystemPrincipal or would fall back to become
-      // a SystemPrincipal within the loadInfo then we should explicitly set
-      // the principalToInherit to a freshly created NullPrincipal.
-      if (!principalToInherit && 
-          (nsContentUtils::IsSystemPrincipal(aTriggeringPrincipal) ||
-           (!aTriggeringPrincipal && !aReferrer))) {
-        // We're going to default to inheriting our system triggering principal, 
-        // more or less by accident.  This doesn't seem like a good idea.
-        principalToInherit = nsNullPrincipal::CreateWithInheritedAttributes(this);
-      }
+    if (aLoadType != LOAD_NORMAL_EXTERNAL && !principalToInherit &&
+        (aFlags & INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL) &&   
+         NS_SUCCEEDED(nsContentUtils::URIInheritsSecurityContext(aURI,
+                                                                 &inherits)) &&
+         inherits) {
+      principalToInherit = GetInheritedPrincipal(true);
     }
   }
 
   // Don't allow loads that would inherit our security context
   // if this document came from an unsafe channel.
   {
     bool willInherit;
     // This condition needs to match the one in
@@ -10804,34 +10803,18 @@ nsDocShell::DoURILoad(nsIURI* aURI,
       // to load this resource. This docshell is scheduled for destruction
       // already, so bail out here.
       return NS_OK;
     }
   }
 
   // Getting the right triggeringPrincipal needs to be updated and is only
   // ready for use once bug 1182569 landed. Until then, we cannot rely on
-  // the triggeringPrincipal for TYPE_DOCUMENT loads. Please note that the
-  // triggeringPrincipal falls back to the systemPrincipal below.
-  nsCOMPtr<nsIPrincipal> triggeringPrincipal = aTriggeringPrincipal;
-
-  // Make sure that we always get a non null triggeringPrincipal for
-  // loads of type TYPE_SUBDOCUMENT.
-  MOZ_ASSERT(aContentPolicyType != nsIContentPolicy::TYPE_SUBDOCUMENT ||
-             triggeringPrincipal, "Need a valid triggeringPrincipal");
-
-  if (!triggeringPrincipal) {
-    if (aReferrerURI) {
-      rv = CreatePrincipalFromReferrer(aReferrerURI,
-                                       getter_AddRefs(triggeringPrincipal));
-      NS_ENSURE_SUCCESS(rv, rv);
-    } else {
-      triggeringPrincipal = nsContentUtils::GetSystemPrincipal();
-    }
-  }
+  // the triggeringPrincipal for TYPE_DOCUMENT loads.
+  MOZ_ASSERT(aTriggeringPrincipal, "Need a valid triggeringPrincipal");
 
   bool isSandBoxed = mSandboxFlags & SANDBOXED_ORIGIN;
   // only inherit if we have a aPrincipalToInherit
   bool inherit = false;
 
   if (aPrincipalToInherit) {
     inherit = nsContentUtils::ChannelShouldInheritPrincipal(
       aPrincipalToInherit,
@@ -10858,19 +10841,19 @@ nsDocShell::DoURILoad(nsIURI* aURI,
     securityFlags |= nsILoadInfo::SEC_FORCE_INHERIT_PRINCIPAL;
   }
   if (isSandBoxed) {
     securityFlags |= nsILoadInfo::SEC_SANDBOXED;
   }
 
   nsCOMPtr<nsILoadInfo> loadInfo =
     (aContentPolicyType == nsIContentPolicy::TYPE_DOCUMENT) ?
-      new LoadInfo(loadingWindow, triggeringPrincipal,
+      new LoadInfo(loadingWindow, aTriggeringPrincipal,
                    securityFlags) :
-      new LoadInfo(loadingPrincipal, triggeringPrincipal, loadingNode,
+      new LoadInfo(loadingPrincipal, aTriggeringPrincipal, loadingNode,
                    securityFlags, aContentPolicyType);
 
   if (aPrincipalToInherit) {
     loadInfo->SetPrincipalToInherit(aPrincipalToInherit);
   }
 
   // We have to do this in case our OriginAttributes are different from the
   // OriginAttributes of the parent document. Or in case there isn't a
@@ -12484,16 +12467,24 @@ nsDocShell::LoadHistoryEntry(nsISHEntry*
   if (isSrcdoc) {
     aEntry->GetSrcdocData(srcdoc);
     aEntry->GetBaseURI(getter_AddRefs(baseURI));
     flags |= INTERNAL_LOAD_FLAGS_IS_SRCDOC;
   } else {
     srcdoc = NullString();
   }
 
+  // If there is no triggeringPrincipal we can fall back to using the
+  // SystemPrincipal as the triggeringPrincipal for loading the history
+  // entry, since the history entry can only end up in history if security
+  // checks passed in the initial loading phase.
+  if (!triggeringPrincipal) {
+    triggeringPrincipal = nsContentUtils::GetSystemPrincipal();
+  }
+
   // Passing nullptr as aSourceDocShell gives the same behaviour as before
   // aSourceDocShell was introduced. According to spec we should be passing
   // the source browsing context that was used when the history entry was
   // first created. bug 947716 has been created to address this issue.
   rv = InternalLoad(uri,
                     originalURI,
                     loadReplace,
                     referrerURI,
--- a/docshell/base/nsDocShell.h
+++ b/docshell/base/nsDocShell.h
@@ -343,24 +343,28 @@ protected:
   // Get the principal that we'll set on the channel if we're inheriting. If
   // aConsiderCurrentDocument is true, we try to use the current document if
   // at all possible. If that fails, we fall back on the parent document.
   // If that fails too, we force creation of a content viewer and use the
   // resulting principal. If aConsiderCurrentDocument is false, we just look
   // at the parent.
   nsIPrincipal* GetInheritedPrincipal(bool aConsiderCurrentDocument);
 
-  // Actually open a channel and perform a URI load. Note: whatever principal is
-  // passed to this function will be set on the channel. Callers who wish to
-  // not have an principal on the channel should just pass null.
+  // Actually open a channel and perform a URI load. Callers need to pass a
+  // non-null aTriggeringPrincipal which initiated the URI load. Please note
+  // that aTriggeringPrincipal will be used for performing security checks.
+  // If the argument aURI is provided by the web, then please do not pass a
+  // SystemPrincipal as the triggeringPrincipal. If principalToInherit is
+  // null, then no inheritance of any sort will happen and the load will
+  // get a principal based on the URI being loaded.
   // If aSrcdoc is not void, the load will be considered as a srcdoc load,
   // and the contents of aSrcdoc will be loaded instead of aURI.
   // aOriginalURI will be set as the originalURI on the channel that does the
   // load. If aOriginalURI is null, aURI will be set as the originalURI.
-  // If aLoadReplace is true, OLOAD_REPLACE flag will be set to the nsIChannel.
+  // If aLoadReplace is true, LOAD_REPLACE flag will be set to the nsIChannel.
   nsresult DoURILoad(nsIURI* aURI,
                      nsIURI* aOriginalURI,
                      bool aLoadReplace,
                      nsIURI* aReferrer,
                      bool aSendReferrer,
                      uint32_t aReferrerPolicy,
                      nsIPrincipal* aTriggeringPrincipal,
                      nsIPrincipal* aPrincipalToInherit,
--- a/docshell/base/nsIDocShell.idl
+++ b/docshell/base/nsIDocShell.idl
@@ -127,45 +127,35 @@ interface nsIDocShell : nsIDocShellTreeI
    * @param aOriginalURI         - The URI to set as the originalURI on the channel
    *                               that does the load. If null, aURI will be set as
    *                               the originalURI.
    * @param aLoadReplace         - If set LOAD_REPLACE flag will be set on the
    *                               channel. aOriginalURI is null, this argument is
    *                               ignored.
    * @param aReferrer            - Referring URI
    * @param aReferrerPolicy      - Referrer policy
-   * @param aTriggeringPrincipal - Principal that initiated that load. If passing
-   *                               null for this argument, then internally a
-   *                               principal is created from aReferrer. If
-   *                               aReferrer is also null, then the
-   *                               triggeringPrincipal defaults to the
-   *                               SystemPrincipal. Please note that this is the
-   *                               principal that is used for security checks. If
-   *                               the argument aURI is provided by the web, then
-   *                               please pass an explicit triggeringPrincipal to
-   *                               avoid the fallback to SystemPrincipal and
-   *                               hence a potential security risk.
-   *                               If aTriggeringPrincipal is null then either
-   *                               aPrincipalToInherit is null or it's
-   *                               a NullPrincipal.
-   * @param aPrincipalToInherit  - Principal to be inherited for that load. If
-   *                               passing null for this argument, then internally
-   *                               the triggeringPrincipal is also used for the
-   *                               principalToInherit. There are cases where those
-   *                               two principals need to be different though.
-   *                               E.g. the system might initiate a load for
-   *                               'about:blank', hence SystemPrincipal is passed
-   *                               for aTriggeringPrincipal. But the principal to
-   *                               be inherited for that load should be a
-   *                               NullPrincipal and not the SystemPrincipal.
-   *                               In that case, please pass a non null
-   *                               principalToInherit.
-   *                               If aPrincipalToInherit is null then either
-   *                               aTriggeringPrincipal is null or
-   *                               INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL is set.
+   * @param aTriggeringPrincipal - A non-null principal that initiated that load.
+   *                               Please note that this is the principal that is
+   *                               used for security checks. If the argument aURI
+   *                               is provided by the web, then please do not pass
+   *                               a SystemPrincipal as the triggeringPrincipal.
+   * @param aPrincipalToInherit  - Principal to be inherited for that load. If this
+   *                               argument is null then principalToInherit is
+   *                               computed as follows:
+   *                               a) If INTERNAL_LOAD_FLAGS_INHERIT_PRINCIPAL, and
+   *                                  aLoadType is not LOAD_NORMAL_EXTERNAL, and the
+   *                                  URI would normally inherit a principal, then
+   *                                  principalToInherit is set to the current
+   *                                  document's principal, or parent document if
+   *                                  there is not a current document.
+   *                               b) If principalToInherit is still null (e.g. if
+   *                                  some of the conditions of (a) were not satisfied),
+   *                                  then no inheritance of any sort will happen: the
+   *                                  load will just get a principal based on the URI
+   *                                  being loaded.
    * @param aFlags               - Any of the load flags defined within above.
    * @param aStopActiveDoc       - Flag indicating whether loading the current
    *                               document should be stopped.
    * @param aWindowTarget        - Window target for the load.
    * @param aTypeHint            - A hint as to the content-type of the resulting
    *                               data.  May be null or empty if no hint.
    * @param aFileName            - Non-null when the link should be downloaded as
                                    the given filename.
--- a/docshell/test/browser/browser_bug420605.js
+++ b/docshell/test/browser/browser_bug420605.js
@@ -41,18 +41,18 @@ function test() {
     // they've both run, we click a fragment link in the content page
     // (clickLinkIfReady), which should trigger another onPageChanged event,
     // this time for the fragment's URL.
 
     var _clickLinkTimes = 0;
     function clickLinkIfReady() {
       _clickLinkTimes++;
       if (_clickLinkTimes == 2) {
-        EventUtils.sendMouseEvent({type:'click'}, 'firefox-link',
-                                  gBrowser.selectedBrowser.contentWindow);
+        BrowserTestUtils.synthesizeMouseAtCenter('#firefox-link', {},
+                                                 gBrowser.selectedBrowser);
       }
     }
 
     /* Global history observer that triggers for the two test URLs above. */
     var historyObserver = {
         onBeginUpdateBatch: function() {},
         onEndUpdateBatch: function() {},
         onVisit: function(aURI, aVisitID, aTime, aSessionId, aReferringId,
--- a/docshell/test/browser/browser_bug655270.js
+++ b/docshell/test/browser/browser_bug655270.js
@@ -26,17 +26,21 @@ function test() {
 
   let observer = {
     onPageChanged: function(aURI, aWhat, aValue) {
       if (aWhat != Ci.nsINavHistoryObserver.ATTRIBUTE_FAVICON)
         return;
 
       if (aURI.spec == origURL) {
         is(aValue, faviconURL, 'FaviconURL for original URI');
-        tab.linkedBrowser.contentWindow.history.pushState('', '', '?new_page');
+        // Ignore the promise returned here and wait for the next
+        // onPageChanged notification.
+        ContentTask.spawn(tab.linkedBrowser, null, function() {
+          content.history.pushState('', '', '?new_page');
+        });
       }
 
       if (aURI.spec == newURL) {
         is(aValue, faviconURL, 'FaviconURL for new URI');
         gBrowser.removeTab(tab);
         PlacesUtils.history.removeObserver(this);
         finish();
       }
--- a/docshell/test/browser/browser_tab_touch_events.js
+++ b/docshell/test/browser/browser_tab_touch_events.js
@@ -1,19 +1,23 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 add_task(function*() {
-  yield openUrl("data:text/html;charset=utf-8,<iframe id='test-iframe'></iframe>");
+  const URI = "data:text/html;charset=utf-8,<iframe id='test-iframe'></iframe>";
 
-  let docshell = content.QueryInterface(Ci.nsIInterfaceRequestor)
-                        .getInterface(Ci.nsIWebNavigation)
-                        .QueryInterface(Ci.nsIDocShell);
+  yield BrowserTestUtils.withNewTab({ gBrowser, url: URI }, function* (browser) {
+    yield ContentTask.spawn(browser, null, test_body);
+  });
+});
+
+function* test_body() {
+  let docshell = docShell;
 
   is(docshell.touchEventsOverride, Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_NONE,
     "touchEventsOverride flag should be initially set to NONE");
 
   docshell.touchEventsOverride = Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED;
   is(docshell.touchEventsOverride, Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
     "touchEventsOverride flag should be changed to DISABLED");
 
@@ -30,38 +34,16 @@ add_task(function*() {
   let newFrameWin = newFrame.contentWindow;
   docshell = newFrameWin.QueryInterface(Ci.nsIInterfaceRequestor)
                         .getInterface(Ci.nsIWebNavigation)
                         .QueryInterface(Ci.nsIDocShell);
   is(docshell.touchEventsOverride, Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
     "Newly created frames should use the new touchEventsOverride flag");
 
   newFrameWin.location.reload();
-  yield waitForEvent(newFrameWin, "load");
+  yield ContentTaskUtils.waitForEvent(newFrameWin, "load");
 
   docshell = newFrameWin.QueryInterface(Ci.nsIInterfaceRequestor)
                         .getInterface(Ci.nsIWebNavigation)
                         .QueryInterface(Ci.nsIDocShell);
   is(docshell.touchEventsOverride, Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
     "New touchEventsOverride flag should persist across reloads");
-
-  gBrowser.removeCurrentTab();
-});
-
-function waitForEvent(target, event) {
-  return new Promise(function(resolve) {
-    target.addEventListener(event, resolve);
-  });
 }
-
-function openUrl(url) {
-  return new Promise(function(resolve, reject) {
-    window.focus();
-
-    let tab = window.gBrowser.selectedTab = window.gBrowser.addTab(url);
-    let linkedBrowser = tab.linkedBrowser;
-
-    linkedBrowser.addEventListener("load", function onload() {
-      linkedBrowser.removeEventListener("load", onload, true);
-      resolve(tab);
-    }, true);
-  });
-}
--- a/dom/base/TabGroup.cpp
+++ b/dom/base/TabGroup.cpp
@@ -1,36 +1,60 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
 #include "mozilla/dom/TabGroup.h"
+
 #include "mozilla/dom/DocGroup.h"
+#include "mozilla/ClearOnShutdown.h"
+#include "mozilla/StaticPtr.h"
 #include "mozilla/Telemetry.h"
+#include "mozilla/ThrottledEventQueue.h"
+#include "nsIDocShell.h"
+#include "nsIEffectiveTLDService.h"
 #include "nsIURI.h"
-#include "nsIEffectiveTLDService.h"
-#include "mozilla/StaticPtr.h"
-#include "mozilla/ClearOnShutdown.h"
-#include "nsIDocShell.h"
 
 namespace mozilla {
 namespace dom {
 
-TabGroup::TabGroup()
-{}
+static StaticRefPtr<TabGroup> sChromeTabGroup;
+
+TabGroup::TabGroup(bool aIsChrome)
+{
+  // Do not throttle runnables from chrome windows.  In theory we should
+  // not have abuse issues from these windows and many browser chrome
+  // tests have races that fail if we do throttle chrome runnables.
+  if (aIsChrome) {
+    MOZ_ASSERT(!sChromeTabGroup);
+    return;
+  }
+
+  nsCOMPtr<nsIThread> mainThread;
+  NS_GetMainThread(getter_AddRefs(mainThread));
+  MOZ_DIAGNOSTIC_ASSERT(mainThread);
+
+  // This may return nullptr during xpcom shutdown.  This is ok as we
+  // do not guarantee a ThrottledEventQueue will be present.
+  mThrottledEventQueue = ThrottledEventQueue::Create(mainThread);
+}
 
 TabGroup::~TabGroup()
 {
   MOZ_ASSERT(mDocGroups.IsEmpty());
   MOZ_ASSERT(mWindows.IsEmpty());
 }
 
-static StaticRefPtr<TabGroup> sChromeTabGroup;
-
 TabGroup*
 TabGroup::GetChromeTabGroup()
 {
   if (!sChromeTabGroup) {
-    sChromeTabGroup = new TabGroup();
+    sChromeTabGroup = new TabGroup(true /* chrome tab group */);
     ClearOnShutdown(&sChromeTabGroup);
   }
   return sChromeTabGroup;
 }
 
 already_AddRefed<DocGroup>
 TabGroup::GetDocGroup(const nsACString& aKey)
 {
@@ -125,16 +149,22 @@ TabGroup::GetTopLevelWindows()
     if (!outerWindow->GetScriptableParentOrNull()) {
       array.AppendElement(outerWindow);
     }
   }
 
   return array;
 }
 
+ThrottledEventQueue*
+TabGroup::GetThrottledEventQueue() const
+{
+  return mThrottledEventQueue;
+}
+
 NS_IMPL_ISUPPORTS(TabGroup, nsISupports)
 
 TabGroup::HashEntry::HashEntry(const nsACString* aKey)
   : nsCStringHashKey(aKey), mDocGroup(nullptr)
 {}
 
 }
 }
--- a/dom/base/TabGroup.h
+++ b/dom/base/TabGroup.h
@@ -11,16 +11,17 @@
 #include "nsISupportsImpl.h"
 #include "nsIPrincipal.h"
 #include "nsTHashtable.h"
 #include "nsString.h"
 
 #include "mozilla/RefPtr.h"
 
 namespace mozilla {
+class ThrottledEventQueue;
 namespace dom {
 
 // Two browsing contexts are considered "related" if they are reachable from one
 // another through window.opener, window.parent, or window.frames. This is the
 // spec concept of a "unit of related browsing contexts"
 //
 // Two browsing contexts are considered "similar-origin" if they can be made to
 // have the same origin by setting document.domain. This is the spec concept of
@@ -53,17 +54,17 @@ public:
 
   friend class DocGroup;
 
   NS_DECL_THREADSAFE_ISUPPORTS
 
   static TabGroup*
   GetChromeTabGroup();
 
-  TabGroup();
+  explicit TabGroup(bool aIsChrome = false);
 
   // Get the docgroup for the corresponding doc group key.
   // Returns null if the given key hasn't been seen yet.
   already_AddRefed<DocGroup>
   GetDocGroup(const nsACString& aKey);
 
   already_AddRefed<DocGroup>
   AddDocument(const nsACString& aKey, nsIDocument* aDocument);
@@ -94,18 +95,24 @@ public:
   nsresult
   FindItemWithName(const nsAString& aName,
                    nsIDocShellTreeItem* aRequestor,
                    nsIDocShellTreeItem* aOriginalRequestor,
                    nsIDocShellTreeItem** aFoundItem);
 
   nsTArray<nsPIDOMWindowOuter*> GetTopLevelWindows();
 
+  // Get the event queue that associated windows can use to issue runnables to
+  // the main thread.  This may return nullptr during browser shutdown.
+  ThrottledEventQueue*
+  GetThrottledEventQueue() const;
+
 private:
   ~TabGroup();
   DocGroupMap mDocGroups;
   nsTArray<nsPIDOMWindowOuter*> mWindows;
+  RefPtr<ThrottledEventQueue> mThrottledEventQueue;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif // defined(TabGroup_h)
--- a/dom/base/Timeout.cpp
+++ b/dom/base/Timeout.cpp
@@ -50,37 +50,58 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mWindow)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPrincipal)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mScriptHandler)
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
 
 NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(Timeout, AddRef)
 NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(Timeout, Release)
 
-nsresult
-Timeout::InitTimer(uint32_t aDelay)
+namespace {
+
+void
+TimerCallback(nsITimer*, void* aClosure)
 {
-  return mTimer->InitWithNameableFuncCallback(
-    nsGlobalWindow::TimerCallback, this, aDelay,
-    nsITimer::TYPE_ONE_SHOT, Timeout::TimerNameCallback);
+  RefPtr<Timeout> timeout = (Timeout*)aClosure;
+  timeout->mWindow->RunTimeout(timeout);
 }
 
-// static
 void
-Timeout::TimerNameCallback(nsITimer* aTimer, void* aClosure, char* aBuf,
-                           size_t aLen)
+TimerNameCallback(nsITimer* aTimer, void* aClosure, char* aBuf, size_t aLen)
 {
   RefPtr<Timeout> timeout = (Timeout*)aClosure;
 
   const char* filename;
   uint32_t lineNum, column;
   timeout->mScriptHandler->GetLocation(&filename, &lineNum, &column);
   snprintf(aBuf, aLen, "[content] %s:%u:%u", filename, lineNum, column);
 }
 
+} // anonymous namespace
+
+nsresult
+Timeout::InitTimer(nsIEventTarget* aTarget, uint32_t aDelay)
+{
+  // If the given target does not match the timer's current target
+  // then we need to override it before the Init.  Note that GetTarget()
+  // will return the current thread after setting the target to nullptr.
+  // So we need to special case the nullptr target comparison.
+  nsCOMPtr<nsIEventTarget> currentTarget;
+  MOZ_ALWAYS_SUCCEEDS(mTimer->GetTarget(getter_AddRefs(currentTarget)));
+  if ((aTarget && currentTarget != aTarget) ||
+      (!aTarget && currentTarget != NS_GetCurrentThread())) {
+    // Always call Cancel() in case we are re-using a timer.  Otherwise
+    // the subsequent SetTarget() may fail.
+    MOZ_ALWAYS_SUCCEEDS(mTimer->Cancel());
+    MOZ_ALWAYS_SUCCEEDS(mTimer->SetTarget(aTarget));
+  }
+
+  return mTimer->InitWithNameableFuncCallback(
+    TimerCallback, this, aDelay, nsITimer::TYPE_ONE_SHOT, TimerNameCallback);
+}
 
 // Return true if this timeout has a refcount of 1. This is used to check
 // that dummy_timeout doesn't leak from nsGlobalWindow::RunTimeout.
 #ifdef DEBUG
 bool
 Timeout::HasRefCntOne() const
 {
   return mRefCnt.get() == 1;
--- a/dom/base/Timeout.h
+++ b/dom/base/Timeout.h
@@ -29,23 +29,23 @@ class Timeout final
   : public LinkedListElement<Timeout>
 {
 public:
   Timeout();
 
   NS_DECL_CYCLE_COLLECTION_NATIVE_CLASS(Timeout)
   NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(Timeout)
 
-  nsresult InitTimer(uint32_t aDelay);
+  // The target may be specified to use a particular event queue for the
+  // resulting timer runnable.  A nullptr target will result in the
+  // default main thread being used.
+  nsresult InitTimer(nsIEventTarget* aTarget, uint32_t aDelay);
 
   enum class Reason { eTimeoutOrInterval, eIdleCallbackTimeout };
 
-  static void TimerNameCallback(nsITimer* aTimer, void* aClosure, char* aBuf,
-                                size_t aLen);
-
 #ifdef DEBUG
   bool HasRefCntOne() const;
 #endif // DEBUG
 
   // Window for which this timeout fires
   RefPtr<nsGlobalWindow> mWindow;
 
   // The actual timer object
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -12427,16 +12427,30 @@ nsDocument::ScheduleIntersectionObserver
 void
 nsDocument::NotifyIntersectionObservers()
 {
   for (const auto& observer : mIntersectionObservers) {
     observer->Notify();
   }
 }
 
+static bool
+NotifyLayerManagerRecreatedCallback(nsIDocument* aDocument, void* aData)
+{
+  aDocument->NotifyLayerManagerRecreated();
+  return true;
+}
+
+void
+nsDocument::NotifyLayerManagerRecreated()
+{
+  EnumerateActivityObservers(NotifyActivityChanged, nullptr);
+  EnumerateSubDocuments(NotifyLayerManagerRecreatedCallback, nullptr);
+}
+
 XPathEvaluator*
 nsIDocument::XPathEvaluator()
 {
   if (!mXPathEvaluator) {
     mXPathEvaluator = new dom::XPathEvaluator(this);
   }
   return mXPathEvaluator;
 }
--- a/dom/base/nsDocument.h
+++ b/dom/base/nsDocument.h
@@ -779,16 +779,18 @@ public:
   virtual void AddIntersectionObserver(
     mozilla::dom::DOMIntersectionObserver* aObserver) override;
   virtual void RemoveIntersectionObserver(
     mozilla::dom::DOMIntersectionObserver* aObserver) override;
   virtual void UpdateIntersectionObservations() override;
   virtual void ScheduleIntersectionObserverNotification() override;
   virtual void NotifyIntersectionObservers() override;
 
+  virtual void NotifyLayerManagerRecreated() override;
+
 
 private:
   void AddOnDemandBuiltInUASheet(mozilla::StyleSheet* aSheet);
   nsRadioGroupStruct* GetRadioGroupInternal(const nsAString& aName) const;
   void SendToConsole(nsCOMArray<nsISecurityConsoleMessage>& aMessages);
 
 public:
   // nsIDOMNode
--- a/dom/base/nsGlobalWindow.cpp
+++ b/dom/base/nsGlobalWindow.cpp
@@ -76,16 +76,17 @@
 #include "mozilla/dom/ToJSValue.h"
 #include "nsJSPrincipals.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/Debug.h"
 #include "mozilla/EventListenerManager.h"
 #include "mozilla/EventStates.h"
 #include "mozilla/MouseEvents.h"
 #include "mozilla/ProcessHangMonitor.h"
+#include "mozilla/ThrottledEventQueue.h"
 #include "AudioChannelService.h"
 #include "nsAboutProtocolUtils.h"
 #include "nsCharTraits.h" // NS_IS_HIGH/LOW_SURROGATE
 #include "PostMessageEvent.h"
 #include "mozilla/dom/DocGroup.h"
 #include "mozilla/dom/TabGroup.h"
 
 // Interfaces Needed
@@ -3636,16 +3637,57 @@ nsGlobalWindow::DefineArgumentsProperty(
 
   nsIScriptContext *ctx = GetOuterWindowInternal()->mContext;
   NS_ENSURE_TRUE(aArguments && ctx, NS_ERROR_NOT_INITIALIZED);
 
   JS::Rooted<JSObject*> obj(RootingCx(), GetWrapperPreserveColor());
   return ctx->SetProperty(obj, "arguments", aArguments);
 }
 
+void
+nsGlobalWindow::MaybeApplyBackPressure()
+{
+  MOZ_ASSERT(NS_IsMainThread());
+
+  // If we are already suspended, then we don't need to apply back
+  // pressure for ThrottledEventQueue reasons.  This also avoids repeatedly
+  // calling SuspendTimeout() if this routine is executed many times
+  // before dropping below the backpressure threshold.
+  if (IsSuspended()) {
+    return;
+  }
+
+  RefPtr<ThrottledEventQueue> taskQueue = TabGroup()->GetThrottledEventQueue();
+  if (!taskQueue) {
+    return;
+  }
+
+  // Only stop the window if it has greatly fallen behind the main thread.
+  // This is a somewhat arbitrary threshold chosen such that it should
+  // rarely fire under normaly circumstances.  Its low enough, though,
+  // that we should avoid hitting an OOM from the backed up runnables in
+  // the queue.
+  static const uint32_t kThrottledEventQueueBackPressure = 5000;
+  if (taskQueue->Length() < kThrottledEventQueueBackPressure) {
+    return;
+  }
+
+  // First attempt to queue a runnable to resume running timeouts.  We do
+  // this first in order to verify we can dispatch successfully.
+  nsCOMPtr<nsIRunnable> r = NewRunnableMethod(this, &nsGlobalWindow::Resume);
+  nsresult rv = taskQueue->Dispatch(r.forget(), NS_DISPATCH_NORMAL);
+  NS_ENSURE_SUCCESS_VOID(rv);
+
+  // Since the resume is dispatched we can go ahead and suspend the window
+  // now.  Once the task queue drains the resume will automatically get
+  // executed balancing this suspend.
+  // TODO: Consider suppressing event handling as well.
+  Suspend();
+}
+
 //*****************************************************************************
 // nsGlobalWindow::nsIScriptObjectPrincipal
 //*****************************************************************************
 
 nsIPrincipal*
 nsGlobalWindow::GetPrincipal()
 {
   if (mDoc) {
@@ -9541,16 +9583,28 @@ nsGlobalWindow::UpdateCommands(const nsA
       nsContentUtils::AddScriptRunner(new CommandDispatcher(xulCommandDispatcher,
                                                             anAction));
     }
   }
 
   return NS_OK;
 }
 
+ThrottledEventQueue*
+nsGlobalWindow::GetThrottledEventQueue()
+{
+  // We must have an outer to access the TabGroup.
+  nsGlobalWindow* outer = GetOuterWindowInternal();
+  if (!outer) {
+    return nullptr;
+  }
+
+  return TabGroup()->GetThrottledEventQueue();
+}
+
 Selection*
 nsGlobalWindow::GetSelectionOuter()
 {
   MOZ_RELEASE_ASSERT(IsOuterWindow());
 
   if (!mDocShell) {
     return nullptr;
   }
@@ -11894,17 +11948,17 @@ nsGlobalWindow::Resume()
     uint32_t delay = std::max(remaining, DOMMinTimeoutValue());
 
     t->mTimer = do_CreateInstance("@mozilla.org/timer;1");
     if (!t->mTimer) {
       t->remove();
       continue;
     }
 
-    nsresult rv = t->InitTimer(delay);
+    nsresult rv = t->InitTimer(GetThrottledEventQueue(), delay);
     if (NS_FAILED(rv)) {
       t->mTimer = nullptr;
       t->remove();
       continue;
     }
 
     // Add a reference for the new timer's closure.
     t->AddRef();
@@ -12613,17 +12667,17 @@ nsGlobalWindow::SetTimeoutOrInterval(nsI
     nsresult rv;
     timeout->mTimer = do_CreateInstance("@mozilla.org/timer;1", &rv);
     if (NS_FAILED(rv)) {
       return rv;
     }
 
     RefPtr<Timeout> copy = timeout;
 
-    rv = timeout->InitTimer(realInterval);
+    rv = timeout->InitTimer(GetThrottledEventQueue(), realInterval);
     if (NS_FAILED(rv)) {
       return rv;
     }
 
     // The timeout is now also held in the timer's closure.
     Unused << copy.forget();
   }
 
@@ -12886,17 +12940,18 @@ nsGlobalWindow::RescheduleTimeout(Timeou
     aTimeout->mTimeRemaining = delay;
     return true;
   }
 
   aTimeout->mWhen = currentNow + delay;
 
   // Reschedule the OS timer. Don't bother returning any error codes if
   // this fails since the callers of this method don't care about them.
-  nsresult rv = aTimeout->InitTimer(delay.ToMilliseconds());
+  nsresult rv = aTimeout->InitTimer(GetThrottledEventQueue(),
+                                    delay.ToMilliseconds());
 
   if (NS_FAILED(rv)) {
     NS_ERROR("Error initializing timer for DOM timeout!");
 
     // We failed to initialize the new OS timer, this timer does
     // us no good here so we just cancel it (just in case) and
     // null out the pointer to the OS timer, this will release the
     // OS timer. As we continue executing the code below we'll end
@@ -12961,16 +13016,30 @@ nsGlobalWindow::RunTimeout(Timeout* aTim
   for (Timeout* timeout = mTimeouts.getFirst();
        timeout && timeout->mWhen <= deadline;
        timeout = timeout->getNext()) {
     if (timeout->mFiringDepth == 0) {
       // Mark any timeouts that are on the list to be fired with the
       // firing depth so that we can reentrantly run timeouts
       timeout->mFiringDepth = firingDepth;
       last_expired_timeout = timeout;
+
+      // Run available timers until we see our target timer.  After
+      // that, however, stop coalescing timers so we can yield the
+      // main thread.  Further timers that are ready will get picked
+      // up by their own nsITimer runnables when they execute.
+      //
+      // For chrome windows, however, we do coalesce all timers and
+      // do not yield the main thread.  This is partly because we
+      // trust chrome windows not to misbehave and partly because a
+      // number of browser chrome tests have races that depend on this
+      // coalescing.
+      if (timeout == aTimeout && !IsChromeWindow()) {
+        break;
+      }
     }
   }
 
   // Maybe the timeout that the event was fired for has been deleted
   // and there are no others timeouts with deadlines that make them
   // eligible for execution yet. Go away.
   if (!last_expired_timeout) {
     return;
@@ -13068,16 +13137,18 @@ nsGlobalWindow::RunTimeout(Timeout* aTim
   }
 
   // Take the dummy timeout off the head of the list
   dummy_timeout->remove();
   timeoutExtraRef = nullptr;
   MOZ_ASSERT(dummy_timeout->HasRefCntOne(), "dummy_timeout may leak");
 
   mTimeoutInsertionPoint = last_insertion_point;
+
+  MaybeApplyBackPressure();
 }
 
 void
 nsGlobalWindow::ClearTimeoutOrInterval(int32_t aTimerId, Timeout::Reason aReason)
 {
   MOZ_RELEASE_ASSERT(IsInnerWindow());
 
   uint32_t timerId = (uint32_t)aTimerId;
@@ -13179,17 +13250,18 @@ nsresult nsGlobalWindow::ResetTimersForN
       timeout->remove();
       // InsertTimeoutIntoList will addref |timeout| and reset
       // mFiringDepth.  Make sure to undo that after calling it.
       uint32_t firingDepth = timeout->mFiringDepth;
       InsertTimeoutIntoList(timeout);
       timeout->mFiringDepth = firingDepth;
       timeout->Release();
 
-      nsresult rv = timeout->InitTimer(delay.ToMilliseconds());
+      nsresult rv = timeout->InitTimer(GetThrottledEventQueue(),
+                                       delay.ToMilliseconds());
 
       if (NS_FAILED(rv)) {
         NS_WARNING("Error resetting non background timer for DOM timeout!");
         return rv;
       }
 
       timeout = nextTimeout;
     } else {
@@ -13268,25 +13340,16 @@ nsGlobalWindow::InsertTimeoutIntoList(Ti
 
   aTimeout->mFiringDepth = 0;
 
   // Increment the timeout's reference count since it's now held on to
   // by the list
   aTimeout->AddRef();
 }
 
-// static
-void
-nsGlobalWindow::TimerCallback(nsITimer *aTimer, void *aClosure)
-{
-  RefPtr<Timeout> timeout = (Timeout*)aClosure;
-
-  timeout->mWindow->RunTimeout(timeout);
-}
-
 //*****************************************************************************
 // nsGlobalWindow: Helper Functions
 //*****************************************************************************
 
 already_AddRefed<nsIDocShellTreeOwner>
 nsGlobalWindow::GetTreeOwner()
 {
   FORWARD_TO_OUTER(GetTreeOwner, (), nullptr);
@@ -14773,17 +14836,17 @@ nsGlobalWindow::TabGroupOuter()
   }
   MOZ_ASSERT(mTabGroup);
 
 #ifdef DEBUG
   // Ensure that we don't recurse forever
   if (!mIsValidatingTabGroup) {
     mIsValidatingTabGroup = true;
     // We only need to do this check if we aren't in the chrome tab group
-    if (GetDocShell()->ItemType() == nsIDocShellTreeItem::typeChrome) {
+    if (mIsChrome) {
       MOZ_ASSERT(mTabGroup == TabGroup::GetChromeTabGroup());
     } else {
       // Sanity check that our tabgroup matches our opener or parent.
       RefPtr<nsPIDOMWindowOuter> parent = GetScriptableParentOrNull();
       MOZ_ASSERT_IF(parent, parent->TabGroup() == mTabGroup);
       nsCOMPtr<nsPIDOMWindowOuter> piOpener = do_QueryReferent(mOpener);
       nsPIDOMWindowOuter* opener = GetSanitizedOpener(piOpener);
       MOZ_ASSERT_IF(opener && Cast(opener) != this, opener->TabGroup() == mTabGroup);
--- a/dom/base/nsGlobalWindow.h
+++ b/dom/base/nsGlobalWindow.h
@@ -98,16 +98,17 @@ class nsGlobalWindow;
 class nsDOMWindowUtils;
 class nsIIdleService;
 struct nsRect;
 
 class nsWindowSizes;
 
 namespace mozilla {
 class DOMEventTargetHelper;
+class ThrottledEventQueue;
 namespace dom {
 class BarProp;
 struct ChannelPixelLayout;
 class Console;
 class Crypto;
 class CustomElementRegistry;
 class DocGroup;
 class External;
@@ -1152,16 +1153,18 @@ public:
              const mozilla::dom::Sequence<JS::Value>& aExtraArgument,
              mozilla::ErrorResult& aError);
   nsresult OpenDialog(const nsAString& aUrl, const nsAString& aName,
                       const nsAString& aOptions,
                       nsISupports* aExtraArgument,
                       nsPIDOMWindowOuter** _retval) override;
   nsresult UpdateCommands(const nsAString& anAction, nsISelection* aSel, int16_t aReason) override;
 
+  mozilla::ThrottledEventQueue* GetThrottledEventQueue() override;
+
   already_AddRefed<nsPIDOMWindowOuter>
     GetContentInternal(mozilla::ErrorResult& aError, bool aUnprivilegedCaller);
   void GetContentOuter(JSContext* aCx,
                        JS::MutableHandle<JSObject*> aRetval,
                        mozilla::ErrorResult& aError);
   void GetContent(JSContext* aCx,
                   JS::MutableHandle<JSObject*> aRetval,
                   mozilla::ErrorResult& aError);
@@ -1490,17 +1493,16 @@ public:
   // Return true if |aTimeout| needs to be reinserted into the timeout list.
   bool RescheduleTimeout(mozilla::dom::Timeout* aTimeout, const TimeStamp& now,
                          bool aRunningPendingTimeouts);
 
   void ClearAllTimeouts();
   // Insert aTimeout into the list, before all timeouts that would
   // fire after it, but no earlier than mTimeoutInsertionPoint, if any.
   void InsertTimeoutIntoList(mozilla::dom::Timeout* aTimeout);
-  static void TimerCallback(nsITimer *aTimer, void *aClosure);
   uint32_t GetTimeoutId(mozilla::dom::Timeout::Reason aReason);
 
   // Helper Functions
   already_AddRefed<nsIDocShellTreeOwner> GetTreeOwner();
   already_AddRefed<nsIBaseWindow> GetTreeOwnerWindow();
   already_AddRefed<nsIWebBrowserChrome> GetWebBrowserChrome();
   nsresult SecurityCheckURL(const char *aURL);
   bool IsPrivateBrowsing();
@@ -1701,16 +1703,22 @@ private:
   // IsSecureContext() for the inner window that corresponds to aDocument.
   bool ComputeIsSecureContext(nsIDocument* aDocument);
 
   // nsPIDOMWindow<T> should be able to see these helper methods.
   friend class nsPIDOMWindow<mozIDOMWindowProxy>;
   friend class nsPIDOMWindow<mozIDOMWindow>;
   friend class nsPIDOMWindow<nsISupports>;
 
+  // Apply back pressure to the window if the TabGroup ThrottledEventQueue
+  // exists and has too many runnables waiting to run.  For example, suspend
+  // timers until we have a chance to catch up, etc.
+  void
+  MaybeApplyBackPressure();
+
   mozilla::dom::TabGroup* TabGroupInner();
   mozilla::dom::TabGroup* TabGroupOuter();
 
 protected:
   // These members are only used on outer window objects. Make sure
   // you never set any of these on an inner object!
   bool                          mFullScreen : 1;
   bool                          mFullscreenMode : 1;
--- a/dom/base/nsIDocument.h
+++ b/dom/base/nsIDocument.h
@@ -979,16 +979,18 @@ public:
     if (!mPageUnloadingEventTimeStamp ||
         parentTimeStamp < mPageUnloadingEventTimeStamp) {
       return parentTimeStamp;
     }
 
     return mPageUnloadingEventTimeStamp;
   }
 
+  virtual void NotifyLayerManagerRecreated() = 0;
+
 protected:
   virtual Element *GetRootElementInternal() const = 0;
 
   void SetPageUnloadingEventTimeStamp()
   {
     MOZ_ASSERT(!mPageUnloadingEventTimeStamp);
     mPageUnloadingEventTimeStamp = mozilla::TimeStamp::NowLoRes();
   }
--- a/dom/base/nsObjectLoadingContent.cpp
+++ b/dom/base/nsObjectLoadingContent.cpp
@@ -2671,18 +2671,21 @@ nsObjectLoadingContent::OpenChannel()
                      thisContent,
                      securityFlags,
                      contentPolicyType,
                      group, // aLoadGroup
                      shim,  // aCallbacks
                      nsIChannel::LOAD_CALL_CONTENT_SNIFFERS |
                      nsIChannel::LOAD_CLASSIFY_URI |
                      nsIChannel::LOAD_BYPASS_SERVICE_WORKER);
-
   NS_ENSURE_SUCCESS(rv, rv);
+  if (inherit) {
+    nsCOMPtr<nsILoadInfo> loadinfo = chan->GetLoadInfo();
+    loadinfo->SetPrincipalToInherit(thisContent->NodePrincipal());
+  }
 
   // Referrer
   nsCOMPtr<nsIHttpChannel> httpChan(do_QueryInterface(chan));
   if (httpChan) {
     httpChan->SetReferrerWithPolicy(doc->GetDocumentURI(),
                                     doc->GetReferrerPolicy());
 
     // Set the initiator type
--- a/dom/base/nsPIDOMWindow.h
+++ b/dom/base/nsPIDOMWindow.h
@@ -35,16 +35,17 @@ class nsIURI;
 class nsPIDOMWindowInner;
 class nsPIDOMWindowOuter;
 class nsPIWindowRoot;
 class nsXBLPrototypeHandler;
 
 typedef uint32_t SuspendTypes;
 
 namespace mozilla {
+class ThrottledEventQueue;
 namespace dom {
 class AudioContext;
 class DocGroup;
 class TabGroup;
 class Element;
 class Performance;
 class ServiceWorkerRegistration;
 class Timeout;
@@ -576,16 +577,18 @@ public:
 
   virtual nsresult MoveBy(int32_t aXDif, int32_t aYDif) = 0;
   virtual nsresult UpdateCommands(const nsAString& anAction, nsISelection* aSel, int16_t aReason) = 0;
 
   mozilla::dom::TabGroup* TabGroup();
 
   mozilla::dom::DocGroup* GetDocGroup();
 
+  virtual mozilla::ThrottledEventQueue* GetThrottledEventQueue() = 0;
+
 protected:
   // The nsPIDOMWindow constructor. The aOuterWindow argument should
   // be null if and only if the created window itself is an outer
   // window. In all other cases aOuterWindow should be the outer
   // window for the inner window that is being created.
   explicit nsPIDOMWindow<T>(nsPIDOMWindowOuter *aOuterWindow);
 
   ~nsPIDOMWindow<T>();
--- a/dom/html/nsHTMLDocument.cpp
+++ b/dom/html/nsHTMLDocument.cpp
@@ -2306,18 +2306,19 @@ nsHTMLDocument::CreateAndAddWyciwygChann
   // document.write() script to cache
   nsCOMPtr<nsIChannel> channel;
   // Create a wyciwyg Channel
   rv = NS_NewChannel(getter_AddRefs(channel),
                      wcwgURI,
                      NodePrincipal(),
                      nsILoadInfo::SEC_FORCE_INHERIT_PRINCIPAL,
                      nsIContentPolicy::TYPE_OTHER);
-
   NS_ENSURE_SUCCESS(rv, rv);
+  nsCOMPtr<nsILoadInfo> loadInfo = channel->GetLoadInfo();
+  loadInfo->SetPrincipalToInherit(NodePrincipal());
 
   mWyciwygChannel = do_QueryInterface(channel);
 
   mWyciwygChannel->SetSecurityInfo(mSecurityInfo);
 
   // Note: we want to treat this like a "previous document" hint so that,
   // e.g. a <meta> tag in the document.write content can override it.
   SetDocumentCharacterSetSource(kCharsetFromHintPrevDoc);
--- a/dom/ipc/TabChild.cpp
+++ b/dom/ipc/TabChild.cpp
@@ -2983,16 +2983,19 @@ TabChild::ReinitRendering()
   ShadowLayerForwarder* lf = lm->AsShadowForwarder();
   lf->IdentifyTextureHost(mTextureFactoryIdentifier);
 
   mApzcTreeManager = CompositorBridgeChild::Get()->GetAPZCTreeManager(mLayersId);
   if (mApzcTreeManager) {
     APZChild* apz = ContentProcessController::Create(mUniqueId);
     CompositorBridgeChild::Get()->SendPAPZConstructor(apz, mLayersId);
   }
+
+  nsCOMPtr<nsIDocument> doc(GetDocument());
+  doc->NotifyLayerManagerRecreated();
 }
 
 void
 TabChild::CompositorUpdated(const TextureFactoryIdentifier& aNewIdentifier)
 {
   gfxPlatform::GetPlatform()->CompositorUpdated();
 
   RefPtr<LayerManager> lm = mPuppetWidget->GetLayerManager();
--- a/dom/jsurl/nsJSProtocolHandler.cpp
+++ b/dom/jsurl/nsJSProtocolHandler.cpp
@@ -156,16 +156,19 @@ nsresult nsJSThunk::EvaluateScript(nsICh
     nsCOMPtr<nsISupports> owner;
     aChannel->GetOwner(getter_AddRefs(owner));
     nsCOMPtr<nsIPrincipal> principal = do_QueryInterface(owner);
     if (!principal) {
         nsCOMPtr<nsILoadInfo> loadInfo;
         aChannel->GetLoadInfo(getter_AddRefs(loadInfo));
         if (loadInfo && loadInfo->GetForceInheritPrincipal()) {
             principal = loadInfo->PrincipalToInherit();
+            if (!principal) {
+                principal = loadInfo->TriggeringPrincipal();
+            }
         } else {
             // No execution without a principal!
             NS_ASSERTION(!owner, "Non-principal owner?");
             NS_WARNING("No principal to execute JS with");
             return NS_ERROR_DOM_RETVAL_UNDEFINED;
         }
     }
 
--- a/dom/media/AbstractMediaDecoder.h
+++ b/dom/media/AbstractMediaDecoder.h
@@ -20,16 +20,17 @@
 class GMPCrashHelper;
 
 namespace mozilla
 {
 
 namespace layers
 {
   class ImageContainer;
+  class KnowsCompositor;
 } // namespace layers
 class MediaResource;
 class ReentrantMonitor;
 class VideoFrameContainer;
 class MediaDecoderOwner;
 class CDMProxy;
 
 typedef nsDataHashtable<nsCStringHashKey, nsCString> MetadataTags;
@@ -64,16 +65,25 @@ public:
   // MediaDecoderReader will register with this event to receive notifications
   // in order to update buffer ranges.
   // Return null if this decoder doesn't support the event.
   virtual MediaEventSource<void>* DataArrivedEvent()
   {
     return nullptr;
   }
 
+  // Returns an event that will be notified when the owning document changes state
+  // and we might have a new compositor. If this new compositor requires us to
+  // recreate our decoders, then we expect the existing decoderis to return an
+  // error independently of this.
+  virtual MediaEventSource<RefPtr<layers::KnowsCompositor>>* CompositorUpdatedEvent()
+  {
+    return nullptr;
+  }
+
   // Notify the media decoder that a decryption key is required before emitting
   // further output. This only needs to be overridden for decoders that expect
   // encryption, such as the MediaSource decoder.
   virtual void NotifyWaitingForKey() {}
 
   // Return an event that will be notified when a decoder is waiting for a
   // decryption key before it can return more output.
   virtual MediaEventSource<void>* WaitingForKeyEvent()
--- a/dom/media/MediaDecoder.cpp
+++ b/dom/media/MediaDecoder.cpp
@@ -27,16 +27,18 @@
 #include "mozilla/dom/AudioTrackList.h"
 #include "mozilla/dom/HTMLMediaElement.h"
 #include "mozilla/dom/Promise.h"
 #include "mozilla/dom/VideoTrack.h"
 #include "mozilla/dom/VideoTrackList.h"
 #include "nsPrintfCString.h"
 #include "mozilla/Telemetry.h"
 #include "GMPService.h"
+#include "Layers.h"
+#include "mozilla/layers/ShadowLayers.h"
 
 #ifdef MOZ_ANDROID_OMX
 #include "AndroidBridge.h"
 #endif
 
 using namespace mozilla::dom;
 using namespace mozilla::layers;
 using namespace mozilla::media;
@@ -282,16 +284,29 @@ MediaDecoder::ResourceCallback::NotifyBy
 }
 
 void
 MediaDecoder::NotifyOwnerActivityChanged(bool aIsVisible)
 {
   MOZ_ASSERT(NS_IsMainThread());
   MOZ_ASSERT(!IsShutdown());
   SetElementVisibility(aIsVisible);
+
+  MediaDecoderOwner* owner = GetOwner();
+  NS_ENSURE_TRUE_VOID(owner);
+
+  dom::HTMLMediaElement* element = owner->GetMediaElement();
+  NS_ENSURE_TRUE_VOID(element);
+
+  RefPtr<LayerManager> layerManager =
+    nsContentUtils::LayerManagerForDocument(element->OwnerDoc());
+  NS_ENSURE_TRUE_VOID(layerManager);
+
+  RefPtr<KnowsCompositor> knowsCompositor = layerManager->AsShadowForwarder();
+  mCompositorUpdatedEvent.Notify(knowsCompositor);
 }
 
 void
 MediaDecoder::Pause()
 {
   MOZ_ASSERT(NS_IsMainThread());
   MOZ_ASSERT(!IsShutdown());
   if (mPlayState == PLAY_STATE_LOADING || IsEnded()) {
--- a/dom/media/MediaDecoder.h
+++ b/dom/media/MediaDecoder.h
@@ -552,32 +552,36 @@ private:
   // state machine. Call on the main thread only.
   void MetadataLoaded(nsAutoPtr<MediaInfo> aInfo,
                       nsAutoPtr<MetadataTags> aTags,
                       MediaDecoderEventVisibility aEventVisibility);
 
   MediaEventSource<void>*
   DataArrivedEvent() override { return &mDataArrivedEvent; }
 
+  MediaEventSource<RefPtr<layers::KnowsCompositor>>*
+  CompositorUpdatedEvent() override { return &mCompositorUpdatedEvent; }
+
   void OnPlaybackEvent(MediaEventType aEvent);
   void OnPlaybackErrorEvent(const MediaResult& aError);
 
   void OnDecoderDoctorEvent(DecoderDoctorEvent aEvent);
 
   void OnMediaNotSeekable()
   {
     mMediaSeekable = false;
   }
 
   void FinishShutdown();
 
   void ConnectMirrors(MediaDecoderStateMachine* aObject);
   void DisconnectMirrors();
 
   MediaEventProducer<void> mDataArrivedEvent;
+  MediaEventProducer<RefPtr<layers::KnowsCompositor>> mCompositorUpdatedEvent;
 
   // The state machine object for handling the decoding. It is safe to
   // call methods of this object from other threads. Its internal data
   // is synchronised on a monitor. The lifetime of this object is
   // after mPlayState is LOADING and before mPlayState is SHUTDOWN. It
   // is safe to access it during this period.
   //
   // Explicitly prievate to force access via accessors.
--- a/dom/media/MediaFormatReader.cpp
+++ b/dom/media/MediaFormatReader.cpp
@@ -438,16 +438,22 @@ MediaFormatReader::MediaFormatReader(Abs
   , mTrackDemuxersMayBlock(false)
   , mDemuxOnly(false)
   , mSeekScheduled(false)
   , mVideoFrameContainer(aVideoFrameContainer)
   , mDecoderFactory(new DecoderFactory(this))
 {
   MOZ_ASSERT(aDemuxer);
   MOZ_COUNT_CTOR(MediaFormatReader);
+
+  if (aDecoder && aDecoder->CompositorUpdatedEvent()) {
+    mCompositorUpdatedListener =
+      aDecoder->CompositorUpdatedEvent()->Connect(
+        mTaskQueue, this, &MediaFormatReader::NotifyCompositorUpdated);
+  }
 }
 
 MediaFormatReader::~MediaFormatReader()
 {
   MOZ_COUNT_DTOR(MediaFormatReader);
 }
 
 RefPtr<ShutdownPromise>
@@ -498,16 +504,18 @@ MediaFormatReader::Shutdown()
     mVideo.mTaskQueue = nullptr;
   }
   MOZ_ASSERT(!mVideo.HasPromise());
 
   mDemuxer = nullptr;
   mPlatform = nullptr;
   mVideoFrameContainer = nullptr;
 
+  mCompositorUpdatedListener.DisconnectIfExists();
+
   return MediaDecoderReader::Shutdown();
 }
 
 void
 MediaFormatReader::InitLayersBackendType()
 {
   // Extract the layer manager backend type so that platform decoders
   // can determine whether it's worthwhile using hardware accelerated
--- a/dom/media/MediaFormatReader.h
+++ b/dom/media/MediaFormatReader.h
@@ -7,16 +7,17 @@
 #if !defined(MediaFormatReader_h_)
 #define MediaFormatReader_h_
 
 #include "mozilla/Atomics.h"
 #include "mozilla/Maybe.h"
 #include "mozilla/TaskQueue.h"
 #include "mozilla/Monitor.h"
 
+#include "MediaEventSource.h"
 #include "MediaDataDemuxer.h"
 #include "MediaDecoderReader.h"
 #include "nsAutoPtr.h"
 #include "PDMFactory.h"
 
 namespace mozilla {
 
 class CDMProxy;
@@ -549,16 +550,21 @@ private:
   void ScheduleSeek();
   void AttemptSeek();
   void OnSeekFailed(TrackType aTrack, const MediaResult& aError);
   void DoVideoSeek();
   void OnVideoSeekCompleted(media::TimeUnit aTime);
   void OnVideoSeekFailed(const MediaResult& aError);
   bool mSeekScheduled;
 
+  void NotifyCompositorUpdated(RefPtr<layers::KnowsCompositor> aKnowsCompositor)
+  {
+    mKnowsCompositor = aKnowsCompositor;
+  }
+
   void DoAudioSeek();
   void OnAudioSeekCompleted(media::TimeUnit aTime);
   void OnAudioSeekFailed(const MediaResult& aError);
   // The SeekTarget that was last given to Seek()
   SeekTarget mOriginalSeekTarget;
   // Temporary seek information while we wait for the data
   Maybe<media::TimeUnit> mFallbackSeekTime;
   Maybe<media::TimeUnit> mPendingSeekTime;
@@ -570,13 +576,15 @@ private:
   RefPtr<CDMProxy> mCDMProxy;
 
   RefPtr<GMPCrashHelper> mCrashHelper;
 
   void SetBlankDecode(TrackType aTrack, bool aIsBlankDecode);
 
   class DecoderFactory;
   UniquePtr<DecoderFactory> mDecoderFactory;
+
+  MediaEventListener mCompositorUpdatedListener;
 };
 
 } // namespace mozilla
 
 #endif
--- a/dom/presentation/tests/mochitest/mochitest.ini
+++ b/dom/presentation/tests/mochitest/mochitest.ini
@@ -66,11 +66,12 @@ skip-if = (e10s || toolkit == 'android')
 skip-if = (e10s || toolkit == 'android')
 [test_presentation_terminate_establish_connection_error_inproc.html]
 skip-if = (e10s || toolkit == 'android')
 [test_presentation_terminate_establish_connection_error_oop.html]
 skip-if = (e10s || toolkit == 'android')
 [test_presentation_sender_on_terminate_request.html]
 skip-if = toolkit == 'android'
 [test_presentation_sandboxed_presentation.html]
+skip-if = true # bug 1315867
 [test_presentation_reconnect.html]
 [test_presentation_mixed_security_contexts.html]
 [test_presentation_availability.html]
--- a/dom/svg/test/test_pathAnimInterpolation.xhtml
+++ b/dom/svg/test/test_pathAnimInterpolation.xhtml
@@ -330,15 +330,19 @@ function run()
     }
 
     is(seg.pathSegTypeAsLetter + actual, test.expectedType + test.expected,
        "Path segment for interpolation " +
          (test.usesAddition ? "with addition " : "") +
          " from " + test.from + " to " + test.to);
   }
 
+  // Clear all the tests. We have tons of them attached to the DOM and refresh driver tick will
+  // go through them all by calling animation controller.
+  gSVG.remove();
+
   SimpleTest.finish();
 }
 
 window.addEventListener("load", run, false);
 ]]></script>
 </body>
 </html>
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -42,16 +42,17 @@
 #include "mozilla/Attributes.h"
 #include "mozilla/ContentEvents.h"
 #include "mozilla/EventDispatcher.h"
 #include "mozilla/Likely.h"
 #include "mozilla/LoadContext.h"
 #include "mozilla/Move.h"
 #include "mozilla/dom/BindingUtils.h"
 #include "mozilla/dom/Console.h"
+#include "mozilla/dom/DocGroup.h"
 #include "mozilla/dom/ErrorEvent.h"
 #include "mozilla/dom/ErrorEventBinding.h"
 #include "mozilla/dom/Exceptions.h"
 #include "mozilla/dom/ExtendableMessageEventBinding.h"
 #include "mozilla/dom/FunctionBinding.h"
 #include "mozilla/dom/IndexedDatabaseManager.h"
 #include "mozilla/dom/MessageEvent.h"
 #include "mozilla/dom/MessageEventBinding.h"
@@ -65,17 +66,17 @@
 #include "mozilla/dom/SimpleGlobalObject.h"
 #include "mozilla/dom/ScriptSettings.h"
 #include "mozilla/dom/StructuredCloneHolder.h"
 #include "mozilla/dom/TabChild.h"
 #include "mozilla/dom/WorkerBinding.h"
 #include "mozilla/dom/WorkerDebuggerGlobalScopeBinding.h"
 #include "mozilla/dom/WorkerGlobalScopeBinding.h"
 #include "mozilla/Preferences.h"
-#include "mozilla/TaskQueue.h"
+#include "mozilla/ThrottledEventQueue.h"
 #include "mozilla/TimelineConsumers.h"
 #include "mozilla/WorkerTimelineMarker.h"
 #include "nsAlgorithm.h"
 #include "nsContentUtils.h"
 #include "nsCycleCollector.h"
 #include "nsError.h"
 #include "nsDOMJSUtils.h"
 #include "nsHostObjectProtocolHandler.h"
@@ -4117,36 +4118,48 @@ WorkerPrivate::WorkerPrivate(WorkerPriva
   else {
     AssertIsOnMainThread();
     RuntimeService::GetDefaultPreferences(mPreferences);
     mOnLine = !NS_IsOffline();
   }
 
   nsCOMPtr<nsIEventTarget> target;
 
+  // A child worker just inherits the parent workers ThrottledEventQueue
+  // and main thread target for now.  This is mainly due to the restriction
+  // that ThrottledEventQueue can only be created on the main thread at the
+  // moment.
   if (aParent) {
-    target = aParent->MainThreadEventTarget();
-  }
-
-  // TODO: If we have a window, try to use its MainThreadTaskQueue as the
-  //       target for our sub-queue.
+    mMainThreadThrottledEventQueue = aParent->mMainThreadThrottledEventQueue;
+    mMainThreadEventTarget = aParent->mMainThreadEventTarget;
+    return;
+  }
+
+  MOZ_ASSERT(NS_IsMainThread());
+  target = GetWindow() ? GetWindow()->GetThrottledEventQueue() : nullptr;
 
   if (!target) {
     nsCOMPtr<nsIThread> mainThread;
     NS_GetMainThread(getter_AddRefs(mainThread));
     MOZ_DIAGNOSTIC_ASSERT(mainThread);
     target = mainThread;
   }
 
-  // Throttle events to the main thread using a TaskQueue specific to this
-  // worker thread.
-  mMainThreadTaskQueue = new TaskQueue(target.forget());
-
-  // Expose our task queue as the worker's main thread nsIEventTarget.
-  mMainThreadEventTarget = mMainThreadTaskQueue->WrapAsEventTarget();
+  // Throttle events to the main thread using a ThrottledEventQueue specific to
+  // this worker thread.  This may return nullptr during shutdown.
+  mMainThreadThrottledEventQueue = ThrottledEventQueue::Create(target);
+
+  // If we were able to creat the throttled event queue, then use it for
+  // dispatching our main thread runnables.  Otherwise use our underlying
+  // base target.
+  if (mMainThreadThrottledEventQueue) {
+    mMainThreadEventTarget = mMainThreadThrottledEventQueue;
+  } else {
+    mMainThreadEventTarget = target.forget();
+  }
 }
 
 WorkerPrivate::~WorkerPrivate()
 {
 }
 
 // static
 already_AddRefed<WorkerPrivate>
@@ -4676,24 +4689,16 @@ WorkerPrivate::DoRunLoop(JSContext* aCx)
 
         {
           MutexAutoLock lock(mMutex);
 
           mStatus = Dead;
           mJSContext = nullptr;
         }
 
-        // Shutdown the main thread TaskQueue and wait for it to drain.  Make
-        // sure to clear our references first, however, so that new runnables
-        // are not dispatched into the closing TaskQueue.
-        mMainThreadEventTarget = do_GetMainThread();
-        RefPtr<TaskQueue> taskQueue = mMainThreadTaskQueue.forget();
-        taskQueue->BeginShutdown();
-        taskQueue->AwaitShutdownAndIdle();
-
         // After mStatus is set to Dead there can be no more
         // WorkerControlRunnables so no need to lock here.
         if (!mControlQueue.IsEmpty()) {
           WorkerControlRunnable* runnable;
           while (mControlQueue.Pop(runnable)) {
             runnable->Cancel();
             runnable->Release();
           }
@@ -4753,19 +4758,19 @@ WorkerPrivate::DoRunLoop(JSContext* aCx)
       // Both the debugger event queue and the normal event queue has been
       // exhausted, cancel the periodic GC timer and schedule the idle GC timer.
       SetGCTimerMode(IdleTimer);
     }
 
     // If the worker thread is spamming the main thread faster than it can
     // process the work, then pause the worker thread until the MT catches
     // up.
-    if (mMainThreadTaskQueue &&
-        mMainThreadTaskQueue->ImpreciseLengthForHeuristics() > 5000) {
-      mMainThreadTaskQueue->AwaitIdle();
+    if (mMainThreadThrottledEventQueue &&
+        mMainThreadThrottledEventQueue->Length() > 5000) {
+      mMainThreadThrottledEventQueue->AwaitIdle();
     }
   }
 
   MOZ_CRASH("Shouldn't get here!");
 }
 
 void
 WorkerPrivate::OnProcessNextEvent()
--- a/dom/workers/WorkerPrivate.h
+++ b/dom/workers/WorkerPrivate.h
@@ -55,17 +55,17 @@ class nsITimer;
 class nsIURI;
 template<class T> class nsMainThreadPtrHandle;
 
 namespace JS {
 struct RuntimeStats;
 } // namespace JS
 
 namespace mozilla {
-class TaskQueue;
+class ThrottledEventQueue;
 namespace dom {
 class Function;
 class MessagePort;
 class MessagePortIdentifier;
 class PromiseNativeHandler;
 class StructuredCloneHolder;
 class WorkerDebuggerGlobalScope;
 class WorkerGlobalScope;
@@ -937,17 +937,17 @@ class WorkerPrivate : public WorkerPriva
 
   // Things touched on worker thread only.
   RefPtr<WorkerGlobalScope> mScope;
   RefPtr<WorkerDebuggerGlobalScope> mDebuggerScope;
   nsTArray<ParentType*> mChildWorkers;
   nsTObserverArray<WorkerHolder*> mHolders;
   nsTArray<nsAutoPtr<TimeoutInfo>> mTimeouts;
   uint32_t mDebuggerEventLoopLevel;
-  RefPtr<TaskQueue> mMainThreadTaskQueue;
+  RefPtr<ThrottledEventQueue> mMainThreadThrottledEventQueue;
   nsCOMPtr<nsIEventTarget> mMainThreadEventTarget;
 
   struct SyncLoopInfo
   {
     explicit SyncLoopInfo(EventTarget* aEventTarget);
 
     RefPtr<EventTarget> mEventTarget;
     bool mCompleted;
@@ -1364,17 +1364,17 @@ public:
     return mWorkerScriptExecutedSuccessfully;
   }
 
   void
   MaybeDispatchLoadFailedRunnable();
 
   // Get the event target to use when dispatching to the main thread
   // from this Worker thread.  This may be the main thread itself or
-  // a TaskQueue throttling runnables to the main thread.
+  // a ThrottledEventQueue to the main thread.
   nsIEventTarget*
   MainThreadEventTarget();
 
   nsresult
   DispatchToMainThread(nsIRunnable* aRunnable,
                        uint32_t aFlags = NS_DISPATCH_NORMAL);
 
   nsresult
--- a/dom/workers/WorkerRunnable.cpp
+++ b/dom/workers/WorkerRunnable.cpp
@@ -10,17 +10,16 @@
 #include "nsIEventTarget.h"
 #include "nsIGlobalObject.h"
 #include "nsIRunnable.h"
 #include "nsThreadUtils.h"
 
 #include "mozilla/DebugOnly.h"
 #include "mozilla/ErrorResult.h"
 #include "mozilla/dom/ScriptSettings.h"
-#include "mozilla/TaskQueue.h"
 #include "mozilla/Telemetry.h"
 
 #include "js/RootingAPI.h"
 #include "js/Value.h"
 
 #include "WorkerPrivate.h"
 #include "WorkerScope.h"
 
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -3532,16 +3532,21 @@ XMLHttpRequestMainThread::Notify(nsITime
   // Just in case some JS user wants to QI to nsITimerCallback and play with us...
   NS_WARNING("Unexpected timer!");
   return NS_ERROR_INVALID_POINTER;
 }
 
 void
 XMLHttpRequestMainThread::HandleProgressTimerCallback()
 {
+  // Don't fire the progress event if mLoadTotal is 0, see XHR spec step 6.1
+  if (!mLoadTotal && mLoadTransferred) {
+    return;
+  }
+
   mProgressTimerIsActive = false;
 
   if (!mProgressSinceLastProgressEvent || mErrorLoad) {
     return;
   }
 
   if (InUploadPhase()) {
     if (mUpload && !mUploadComplete) {
--- a/gfx/layers/Compositor.cpp
+++ b/gfx/layers/Compositor.cpp
@@ -82,17 +82,17 @@ Compositor::NotifyNotUsedAfterCompositio
 
   mNotifyNotUsedAfterComposition.AppendElement(aTextureHost);
 
   // If Compositor holds many TextureHosts without compositing,
   // the TextureHosts should be flushed to reduce memory consumption.
   const int thresholdCount = 5;
   const double thresholdSec = 2.0f;
   if (mNotifyNotUsedAfterComposition.Length() > thresholdCount) {
-    TimeDuration duration = TimeStamp::Now() - mLastCompositionEndTime;
+    TimeDuration duration = mLastCompositionEndTime ? TimeStamp::Now() - mLastCompositionEndTime : TimeDuration();
     // Check if we could flush
     if (duration.ToSeconds() > thresholdSec) {
       FlushPendingNotifyNotUsed();
     }
   }
 }
 
 void
--- a/gfx/layers/ImageContainer.cpp
+++ b/gfx/layers/ImageContainer.cpp
@@ -155,26 +155,28 @@ ImageContainer::~ImageContainer()
     }
   }
 }
 
 RefPtr<PlanarYCbCrImage>
 ImageContainer::CreatePlanarYCbCrImage()
 {
   ReentrantMonitorAutoEnter mon(mReentrantMonitor);
+  EnsureImageClient(false);
   if (mImageClient && mImageClient->AsImageClientSingle()) {
     return new SharedPlanarYCbCrImage(mImageClient);
   }
   return mImageFactory->CreatePlanarYCbCrImage(mScaleHint, mRecycleBin);
 }
 
 RefPtr<SharedRGBImage>
 ImageContainer::CreateSharedRGBImage()
 {
   ReentrantMonitorAutoEnter mon(mReentrantMonitor);
+  EnsureImageClient(false);
   if (!mImageClient || !mImageClient->AsImageClientSingle()) {
     return nullptr;
   }
   return new SharedRGBImage(mImageClient);
 }
 
 void
 ImageContainer::SetCurrentImageInternal(const nsTArray<NonOwningImage>& aImages)
--- a/gfx/layers/ipc/CompositableTransactionParent.cpp
+++ b/gfx/layers/ipc/CompositableTransactionParent.cpp
@@ -55,25 +55,16 @@ ScheduleComposition(CompositableHost* aC
   CompositorBridgeParent* cp = CompositorBridgeParent::GetCompositorBridgeParent(id);
   if (!cp) {
     return false;
   }
   cp->ScheduleComposition();
   return true;
 }
 
-#if defined(DEBUG)
-static bool ValidatePictureRect(const mozilla::gfx::IntSize& aSize,
-                                const nsIntRect& aPictureRect)
-{
-  return nsIntRect(0, 0, aSize.width, aSize.height).Contains(aPictureRect) &&
-      !aPictureRect.IsEmpty();
-}
-#endif
-
 bool
 CompositableParentManager::ReceiveCompositableUpdate(const CompositableOperation& aEdit,
                                                      EditReplyVector& replyv)
 {
   // Ignore all operations on compositables created on stale compositors. We
   // return true because the child is unable to handle errors.
   CompositableHost* compositable = CompositableHost::FromIPDLActor(aEdit.compositableParent());
   if (compositable->GetCompositor() && !compositable->GetCompositor()->IsValid()) {
@@ -167,17 +158,16 @@ CompositableParentManager::ReceiveCompos
         t->mTexture =
             TextureHost::AsTextureHost(timedTexture.textureParent());
         MOZ_ASSERT(t->mTexture);
         t->mTimeStamp = timedTexture.timeStamp();
         t->mPictureRect = timedTexture.picture();
         t->mFrameID = timedTexture.frameID();
         t->mProducerID = timedTexture.producerID();
         t->mTexture->DeserializeReadLock(timedTexture.sharedLock(), this);
-        MOZ_ASSERT(ValidatePictureRect(t->mTexture->GetSize(), t->mPictureRect));
       }
       if (textures.Length() > 0) {
         compositable->UseTextureHost(textures);
 
         for (auto& timedTexture : op.textures()) {
           RefPtr<TextureHost> texture = TextureHost::AsTextureHost(timedTexture.textureParent());
           if (texture) {
             texture->SetLastFwdTransactionId(mFwdTransactionId);
--- a/gfx/layers/ipc/ShadowLayers.cpp
+++ b/gfx/layers/ipc/ShadowLayers.cpp
@@ -187,24 +187,43 @@ ShadowLayerForwarder::ShadowLayerForward
  , mIsFirstPaint(false)
  , mWindowOverlayChanged(false)
  , mPaintSyncId(0)
 {
   mTxn = new Transaction();
   mActiveResourceTracker = MakeUnique<ActiveResourceTracker>(1000, "CompositableForwarder");
 }
 
+template<typename T>
+struct ReleaseOnMainThreadTask : public Runnable
+{
+  UniquePtr<T> mObj;
+
+  explicit ReleaseOnMainThreadTask(UniquePtr<T>& aObj)
+    : mObj(Move(aObj))
+  {}
+
+  NS_IMETHOD Run() override {
+    mObj = nullptr;
+    return NS_OK;
+  }
+};
+
 ShadowLayerForwarder::~ShadowLayerForwarder()
 {
   MOZ_ASSERT(mTxn->Finished(), "unfinished transaction?");
   delete mTxn;
   if (mShadowManager) {
     mShadowManager->SetForwarder(nullptr);
     mShadowManager->Destroy();
   }
+  if (!NS_IsMainThread()) {
+    NS_DispatchToMainThread(
+      new ReleaseOnMainThreadTask<ActiveResourceTracker>(mActiveResourceTracker));
+  }
 }
 
 void
 ShadowLayerForwarder::BeginTransaction(const gfx::IntRect& aTargetBounds,
                                        ScreenRotation aRotation,
                                        dom::ScreenOrientationInternal aOrientation)
 {
   MOZ_ASSERT(IPCOpen(), "no manager to forward to");
--- a/ipc/glue/BackgroundUtils.cpp
+++ b/ipc/glue/BackgroundUtils.cpp
@@ -221,19 +221,24 @@ LoadInfoToLoadInfoArgs(nsILoadInfo *aLoa
     NS_ENSURE_SUCCESS(rv, rv);
     loadingPrincipalInfo = loadingPrincipalInfoTemp;
   }
 
   PrincipalInfo triggeringPrincipalInfo;
   rv = PrincipalToPrincipalInfo(aLoadInfo->TriggeringPrincipal(),
                                 &triggeringPrincipalInfo);
 
-  PrincipalInfo principalToInheritInfo;
-  rv = PrincipalToPrincipalInfo(aLoadInfo->PrincipalToInherit(),
-                                &principalToInheritInfo);
+  OptionalPrincipalInfo principalToInheritInfo = mozilla::void_t();
+  if (aLoadInfo->PrincipalToInherit()) {
+    PrincipalInfo principalToInheritInfoTemp;
+    rv = PrincipalToPrincipalInfo(aLoadInfo->PrincipalToInherit(),
+                                  &principalToInheritInfoTemp);
+    NS_ENSURE_SUCCESS(rv, rv);
+    principalToInheritInfo = principalToInheritInfoTemp;
+  }
 
   nsTArray<PrincipalInfo> redirectChainIncludingInternalRedirects;
   for (const nsCOMPtr<nsIPrincipal>& principal : aLoadInfo->RedirectChainIncludingInternalRedirects()) {
     rv = PrincipalToPrincipalInfo(principal, redirectChainIncludingInternalRedirects.AppendElement());
     NS_ENSURE_SUCCESS(rv, rv);
   }
 
   nsTArray<PrincipalInfo> redirectChain;
@@ -292,19 +297,21 @@ LoadInfoArgsToLoadInfo(const OptionalLoa
     NS_ENSURE_SUCCESS(rv, rv);
   }
 
   NS_ENSURE_SUCCESS(rv, rv);
   nsCOMPtr<nsIPrincipal> triggeringPrincipal =
     PrincipalInfoToPrincipal(loadInfoArgs.triggeringPrincipalInfo(), &rv);
   NS_ENSURE_SUCCESS(rv, rv);
 
-  nsCOMPtr<nsIPrincipal> principalToInherit =
-  PrincipalInfoToPrincipal(loadInfoArgs.principalToInheritInfo(), &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
+  nsCOMPtr<nsIPrincipal> principalToInherit;
+  if (loadInfoArgs.principalToInheritInfo().type() != OptionalPrincipalInfo::Tvoid_t) {
+    principalToInherit = PrincipalInfoToPrincipal(loadInfoArgs.principalToInheritInfo(), &rv);
+    NS_ENSURE_SUCCESS(rv, rv);
+  }
 
   nsTArray<nsCOMPtr<nsIPrincipal>> redirectChainIncludingInternalRedirects;
   for (const PrincipalInfo& principalInfo : loadInfoArgs.redirectChainIncludingInternalRedirects()) {
     nsCOMPtr<nsIPrincipal> redirectedPrincipal =
       PrincipalInfoToPrincipal(principalInfo, &rv);
     NS_ENSURE_SUCCESS(rv, rv);
     redirectChainIncludingInternalRedirects.AppendElement(redirectedPrincipal.forget());
   }
--- a/ipc/glue/MessageChannel.cpp
+++ b/ipc/glue/MessageChannel.cpp
@@ -1539,17 +1539,20 @@ MessageChannel::RunMessage(MessageTask& 
     }
 
     // Check that we're going to run the first message that's valid to run.
 #ifdef DEBUG
     for (RefPtr<MessageTask> task : mPending) {
         if (task == &aTask) {
             break;
         }
-        MOZ_ASSERT(!ShouldRunMessage(task->Msg()));
+
+        MOZ_ASSERT(!ShouldRunMessage(task->Msg()) ||
+                   aTask.Msg().priority() != task->Msg().priority());
+
     }
 #endif
 
     if (!mDeferred.empty()) {
         MaybeUndeferIncall();
     }
 
     if (!ShouldRunMessage(msg)) {
@@ -1564,16 +1567,18 @@ MessageChannel::RunMessage(MessageTask& 
         // Interrupt call sent before entering that loop.
         mOutOfTurnReplies[msg.seqno()] = Move(msg);
         return;
     }
 
     DispatchMessage(Move(msg));
 }
 
+NS_IMPL_ISUPPORTS_INHERITED(MessageChannel::MessageTask, CancelableRunnable, nsIRunnablePriority)
+
 nsresult
 MessageChannel::MessageTask::Run()
 {
     if (!mChannel) {
         return NS_OK;
     }
 
     mChannel->AssertWorkerThread();
@@ -1629,16 +1634,24 @@ MessageChannel::MessageTask::Post()
 void
 MessageChannel::MessageTask::Clear()
 {
     mChannel->AssertWorkerThread();
 
     mChannel = nullptr;
 }
 
+NS_IMETHODIMP
+MessageChannel::MessageTask::GetPriority(uint32_t* aPriority)
+{
+  *aPriority = mMessage.priority() == Message::HIGH_PRIORITY ?
+               PRIORITY_HIGH : PRIORITY_NORMAL;
+  return NS_OK;
+}
+
 void
 MessageChannel::DispatchMessage(Message &&aMsg)
 {
     AssertWorkerThread();
     mMonitor->AssertCurrentThreadOwns();
 
     Maybe<AutoNoJSAPI> nojsapi;
     if (ScriptSettingsInitialized() && NS_IsMainThread())
--- a/ipc/glue/MessageChannel.h
+++ b/ipc/glue/MessageChannel.h
@@ -449,36 +449,41 @@ class MessageChannel : HasResultCodes
     {
         MOZ_RELEASE_ASSERT(mWorkerLoopID != MessageLoop::current()->id(),
                            "on worker thread but should not be!");
     }
 
   private:
     class MessageTask :
         public CancelableRunnable,
-        public LinkedListElement<RefPtr<MessageTask>>
+        public LinkedListElement<RefPtr<MessageTask>>,
+        public nsIRunnablePriority
     {
     public:
         explicit MessageTask(MessageChannel* aChannel, Message&& aMessage)
           : mChannel(aChannel), mMessage(Move(aMessage)), mScheduled(false)
         {}
 
+        NS_DECL_ISUPPORTS_INHERITED
+
         NS_IMETHOD Run() override;
         nsresult Cancel() override;
+        NS_IMETHOD GetPriority(uint32_t* aPriority) override;
         void Post();
         void Clear();
 
         bool IsScheduled() const { return mScheduled; }
 
         Message& Msg() { return mMessage; }
         const Message& Msg() const { return mMessage; }
 
     private:
         MessageTask() = delete;
         MessageTask(const MessageTask&) = delete;
+        ~MessageTask() {}
 
         MessageChannel* mChannel;
         Message mMessage;
         bool mScheduled : 1;
     };
 
     bool ShouldRunMessage(const Message& aMsg);
     void RunMessage(MessageTask& aTask);
--- a/js/src/builtin/Promise.cpp
+++ b/js/src/builtin/Promise.cpp
@@ -2125,16 +2125,18 @@ PerformPromiseThen(JSContext* cx, Handle
     if (!GetObjectFromIncumbentGlobal(cx, &incumbentGlobal))
         return false;
 
     // Step 7.
     Rooted<PromiseReactionRecord*> reaction(cx, NewReactionRecord(cx, resultPromise,
                                                                   onFulfilled, onRejected,
                                                                   resolve, reject,
                                                                   incumbentGlobal));
+    if (!reaction)
+        return false;
 
     JS::PromiseState state = promise->state();
     int32_t flags = promise->getFixedSlot(PromiseSlot_Flags).toInt32();
     if (state == JS::PromiseState::Pending) {
         // Steps 5,6 (reordered).
         // Instead of creating separate reaction records for fulfillment and
         // rejection, we create a combined record. All places we use the record
         // can handle that.
--- a/js/src/frontend/TokenStream.cpp
+++ b/js/src/frontend/TokenStream.cpp
@@ -1158,22 +1158,22 @@ TokenStream::getTokenInternal(TokenKind*
             }
 
             goto retry;
         }
 
         tp = newToken(-1);
 
         static_assert('$' < 128,
-                      "IdentifierStart contains '$', but as !IsLetter('$'), "
+                      "IdentifierStart contains '$', but as !IsUnicodeIDStart('$'), "
                       "ensure that '$' is never handled here");
         static_assert('_' < 128,
-                      "IdentifierStart contains '_', but as !IsLetter('_'), "
+                      "IdentifierStart contains '_', but as !IsUnicodeIDStart('_'), "
                       "ensure that '_' is never handled here");
-        if (unicode::IsLetter(c)) {
+        if (unicode::IsUnicodeIDStart(c)) {
             identStart = userbuf.addressOfNextRawChar() - 1;
             hadUnicodeEscape = false;
             goto identifier;
         }
 
         goto badchar;
     }
 
--- a/js/src/tests/ecma_5/String/string-space-trim.js
+++ b/js/src/tests/ecma_5/String/string-space-trim.js
@@ -1,9 +1,10 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
+/* Unicode version: 6.2.0 */
 
 /*
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/licenses/publicdomain/
  */
 var onlySpace = String.fromCharCode(0x9, 0xa, 0xb, 0xc, 0xd, 0x20, 0xa0, 0x1680, 0x180e, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x2028, 0x2029, 0x202f, 0x205f, 0x3000, 0xfeff);
 
 assertEq(onlySpace.trim(), "");
--- a/js/src/tests/ecma_5/String/string-upper-lower-mapping.js
+++ b/js/src/tests/ecma_5/String/string-upper-lower-mapping.js
@@ -1,9 +1,10 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
+/* Unicode version: 6.2.0 */
 
 /*
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/licenses/publicdomain/
  */
 var mapping = [
   [0x0, 0x0], /* <control> (NULL) */
   [0x1, 0x1], /* <control> (START OF HEADING) */
--- a/js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js
+++ b/js/src/tests/ecma_6/RegExp/unicode-ignoreCase.js
@@ -1,9 +1,10 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
+/* Unicode version: 8.0.0 */
 
 /*
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/licenses/publicdomain/
  */
 
 var BUGNUMBER = 1135377;
 var summary = "Implement RegExp unicode flag -- ignoreCase flag.";
--- a/js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js
+++ b/js/src/tests/ecma_6/String/string-code-point-upper-lower-mapping.js
@@ -1,9 +1,10 @@
 /* Generated by make_unicode.py DO NOT MODIFY */
+/* Unicode version: 6.2.0 */
 
 /*
  * Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/licenses/publicdomain/
  */
 assertEq(String.fromCodePoint(0x10428).toUpperCase().codePointAt(0), 0x10400);
 assertEq(String.fromCodePoint(0x10429).toUpperCase().codePointAt(0), 0x10401);
 assertEq(String.fromCodePoint(0x1042a).toUpperCase().codePointAt(0), 0x10402);
new file mode 100644
--- /dev/null
+++ b/js/src/tests/ecma_6/Syntax/identifier_vertical_tilde.js
@@ -0,0 +1,20 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// U+2E2F (VERTICAL TILDE) is in Gc=Lm, but also in [:Pattern_Syntax:].
+// http://www.unicode.org/reports/tr31/
+const verticalTilde = 0x2E2F;
+
+// Leading character in identifier.
+assertThrowsInstanceOf(() => eval(`${String.fromCodePoint(verticalTilde)}`), SyntaxError);
+assertThrowsInstanceOf(() => eval(`\\u${verticalTilde.toString(16).padStart(4, "0")}`), SyntaxError);
+assertThrowsInstanceOf(() => eval(`\\u{${verticalTilde.toString(16)}}`), SyntaxError);
+
+// Not leading character in identifier.
+assertThrowsInstanceOf(() => eval(`A${String.fromCodePoint(verticalTilde)}`), SyntaxError);
+assertThrowsInstanceOf(() => eval(`A\\u${verticalTilde.toString(16).padStart(4, "0")}`), SyntaxError);
+assertThrowsInstanceOf(() => eval(`A\\u{${verticalTilde.toString(16)}}`), SyntaxError);
+
+if (typeof reportCompare === "function")
+    reportCompare(0, 0, "ok");
--- a/js/src/tests/ecma_6/Syntax/identifiers-with-extended-unicode-escape.js
+++ b/js/src/tests/ecma_6/Syntax/identifiers-with-extended-unicode-escape.js
@@ -100,50 +100,50 @@ const otherIdContinue = [
     0x136D,     // ETHIOPIC DIGIT FIVE, Gc=No
     0x136E,     // ETHIOPIC DIGIT SIX, Gc=No
     0x136F,     // ETHIOPIC DIGIT SEVEN, Gc=No
     0x1370,     // ETHIOPIC DIGIT EIGHT, Gc=No
     0x1371,     // ETHIOPIC DIGIT NINE, Gc=No
     0x19DA,     // NEW TAI LUE THAM DIGIT ONE, Gc=No
 ];
 
-for (let ident of [...idStart, ...otherIdStart_Unicode9]) {
+for (let ident of [...idStart, ...otherIdStart, ...otherIdStart_Unicode9]) {
     for (let count of leadingZeros) {
         let zeros = "0".repeat(count);
         eval(`
             let \\u{${zeros}${ident.toString(16)}} = 123;
             assertEq(${String.fromCodePoint(ident)}, 123);
         `);
     }
 }
 
-// Move this to the loop above when Bug 917436 is fixed.
-for (let ident of [...idStartSupplemental, ...otherIdStart]) {
+// Move this to the loop above when Bug 1197230 is fixed.
+for (let ident of [...idStartSupplemental]) {
     for (let zeros of leadingZeros) {
         assertThrowsInstanceOf(() => eval(`\\u{${zeros}${ident.toString(16)}}`), SyntaxError);
     }
 }
 
 for (let ident of [...idContinue, ...idContinueSupplemental, ...otherIdContinue]) {
     for (let zeros of leadingZeros) {
         assertThrowsInstanceOf(() => eval(`\\u{${zeros}${ident.toString(16)}}`), SyntaxError);
     }
 }
 
-for (let ident of [...idStart, ...otherIdStart_Unicode9, ...idContinue]) {
+for (let ident of [...idStart, ...otherIdStart, ...otherIdStart_Unicode9, ...idContinue, ...otherIdContinue]) {
     for (let zeros of leadingZeros) {
         eval(`
             let A\\u{${zeros}${ident.toString(16)}} = 123;
             assertEq(${String.fromCodePoint(0x41, ident)}, 123);
         `);
     }
 }
 
-// Move this to the loop above when Bug 917436 is fixed.
-for (let ident of [...idStartSupplemental, ...otherIdStart, ...idContinueSupplemental, ...otherIdContinue]) {
+// Move this to the loop above when Bug 1197230 is fixed.
+for (let ident of [...idStartSupplemental, ...idContinueSupplemental]) {
     for (let zeros of leadingZeros) {
         assertThrowsInstanceOf(() => eval(`\\u{${zeros}${ident.toString(16)}}`), SyntaxError);
     }
 }
 
 
 const notIdentifiers = [
     0x0000,     // NULL, Gc=Cc
new file mode 100644
--- /dev/null
+++ b/js/src/tests/ecma_6/Syntax/unicode_other_id_continue.js
@@ -0,0 +1,45 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// From PropList.txt (Unicode 9):
+const otherIdContinue = [
+    0x00B7,     // MIDDLE DOT, Gc=Po
+    0x0387,     // GREEK ANO TELEIA, Gc=Po
+    0x1369,     // ETHIOPIC DIGIT ONE, Gc=No
+    0x136A,     // ETHIOPIC DIGIT TWO, Gc=No
+    0x136B,     // ETHIOPIC DIGIT THREE, Gc=No
+    0x136C,     // ETHIOPIC DIGIT FOUR, Gc=No
+    0x136D,     // ETHIOPIC DIGIT FIVE, Gc=No
+    0x136E,     // ETHIOPIC DIGIT SIX, Gc=No
+    0x136F,     // ETHIOPIC DIGIT SEVEN, Gc=No
+    0x1370,     // ETHIOPIC DIGIT EIGHT, Gc=No
+    0x1371,     // ETHIOPIC DIGIT NINE, Gc=No
+    0x19DA,     // NEW TAI LUE THAM DIGIT ONE, Gc=No
+];
+
+// Leading character in identifier.
+for (let ident of [...otherIdContinue]) {
+    assertThrowsInstanceOf(() => eval(`${String.fromCodePoint(ident)}`), SyntaxError);
+    assertThrowsInstanceOf(() => eval(`\\u${ident.toString(16).padStart(4, "0")}`), SyntaxError);
+    assertThrowsInstanceOf(() => eval(`\\u{${ident.toString(16)}}`), SyntaxError);
+}
+
+// Not leading character in identifier.
+for (let ident of [...otherIdContinue]) {
+    eval(`
+        let A${String.fromCodePoint(ident)} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+    eval(`
+        let A\\u${ident.toString(16).padStart(4, "0")} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+    eval(`
+        let A\\u{${ident.toString(16)}} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+}
+
+if (typeof reportCompare === "function")
+    reportCompare(0, 0, "ok");
new file mode 100644
--- /dev/null
+++ b/js/src/tests/ecma_6/Syntax/unicode_other_id_start.js
@@ -0,0 +1,55 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// From PropList.txt (Unicode 9):
+const otherIdStart = [
+    // Enable the following lines when Bug 1282724 is fixed.
+    // 0x1885,     // MONGOLIAN LETTER ALI GALI BALUDA, Gc=Mn
+    // 0x1886,     // MONGOLIAN LETTER ALI GALI THREE BALUDA, Gc=Mn
+    0x2118,     // SCRIPT CAPITAL P, Gc=Sm
+    0x212E,     // ESTIMATED SYMBOL, Gc=So
+    0x309B,     // KATAKANA-HIRAGANA VOICED SOUND MARK, Gc=Sk
+    0x309C,     // KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, Gc=Sk
+];
+
+// Remove this list when we support Unicode 9 (Bug 1282724).
+const otherIdStart_Unicode9 = [
+    0x1885,     // MONGOLIAN LETTER ALI GALI BALUDA, Gc=Mn
+    0x1886,     // MONGOLIAN LETTER ALI GALI THREE BALUDA, Gc=Mn
+];
+
+// Leading character in identifier.
+for (let ident of [...otherIdStart, ...otherIdStart_Unicode9]) {
+    eval(`
+        let ${String.fromCodePoint(ident)} = 123;
+        assertEq(${String.fromCodePoint(ident)}, 123);
+    `);
+    eval(`
+        let \\u${ident.toString(16).padStart(4, "0")} = 123;
+        assertEq(${String.fromCodePoint(ident)}, 123);
+    `);
+    eval(`
+        let \\u{${ident.toString(16)}} = 123;
+        assertEq(${String.fromCodePoint(ident)}, 123);
+    `);
+}
+
+// Not leading character in identifier.
+for (let ident of [...otherIdStart, ...otherIdStart_Unicode9]) {
+    eval(`
+        let A${String.fromCodePoint(ident)} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+    eval(`
+        let A\\u${ident.toString(16).padStart(4, "0")} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+    eval(`
+        let A\\u{${ident.toString(16)}} = 123;
+        assertEq(${String.fromCodePoint(0x41, ident)}, 123);
+    `);
+}
+
+if (typeof reportCompare === "function")
+    reportCompare(0, 0, "ok");
new file mode 100644
--- /dev/null
+++ b/js/src/vm/DerivedCoreProperties.txt
@@ -0,0 +1,10028 @@
+# DerivedCoreProperties-6.2.0.txt
+# Date: 2012-05-20, 00:42:31 GMT [MD]
+#
+# Unicode Character Database
+# Copyright (c) 1991-2012 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+# For documentation, see http://www.unicode.org/reports/tr44/
+
+# ================================================
+
+# Derived Property: Math
+#  Generated from: Sm + Other_Math
+
+002B          ; Math # Sm       PLUS SIGN
+003C..003E    ; Math # Sm   [3] LESS-THAN SIGN..GREATER-THAN SIGN
+005E          ; Math # Sk       CIRCUMFLEX ACCENT
+007C          ; Math # Sm       VERTICAL LINE
+007E          ; Math # Sm       TILDE
+00AC          ; Math # Sm       NOT SIGN
+00B1          ; Math # Sm       PLUS-MINUS SIGN
+00D7          ; Math # Sm       MULTIPLICATION SIGN
+00F7          ; Math # Sm       DIVISION SIGN
+03D0..03D2    ; Math # L&   [3] GREEK BETA SYMBOL..GREEK UPSILON WITH HOOK SYMBOL
+03D5          ; Math # L&       GREEK PHI SYMBOL
+03F0..03F1    ; Math # L&   [2] GREEK KAPPA SYMBOL..GREEK RHO SYMBOL
+03F4..03F5    ; Math # L&   [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
+03F6          ; Math # Sm       GREEK REVERSED LUNATE EPSILON SYMBOL
+0606..0608    ; Math # Sm   [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
+2016          ; Math # Po       DOUBLE VERTICAL LINE
+2032..2034    ; Math # Po   [3] PRIME..TRIPLE PRIME
+2040          ; Math # Pc       CHARACTER TIE
+2044          ; Math # Sm       FRACTION SLASH
+2052          ; Math # Sm       COMMERCIAL MINUS SIGN
+2061..2064    ; Math # Cf   [4] FUNCTION APPLICATION..INVISIBLE PLUS
+207A..207C    ; Math # Sm   [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
+207D          ; Math # Ps       SUPERSCRIPT LEFT PARENTHESIS
+207E          ; Math # Pe       SUPERSCRIPT RIGHT PARENTHESIS
+208A..208C    ; Math # Sm   [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
+208D          ; Math # Ps       SUBSCRIPT LEFT PARENTHESIS
+208E          ; Math # Pe       SUBSCRIPT RIGHT PARENTHESIS
+20D0..20DC    ; Math # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
+20E1          ; Math # Mn       COMBINING LEFT RIGHT ARROW ABOVE
+20E5..20E6    ; Math # Mn   [2] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20EB..20EF    ; Math # Mn   [5] COMBINING LONG DOUBLE SOLIDUS OVERLAY..COMBINING RIGHT ARROW BELOW
+2102          ; Math # L&       DOUBLE-STRUCK CAPITAL C
+2107          ; Math # L&       EULER CONSTANT
+210A..2113    ; Math # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
+2115          ; Math # L&       DOUBLE-STRUCK CAPITAL N
+2118          ; Math # Sm       SCRIPT CAPITAL P
+2119..211D    ; Math # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124          ; Math # L&       DOUBLE-STRUCK CAPITAL Z
+2128          ; Math # L&       BLACK-LETTER CAPITAL Z
+2129          ; Math # So       TURNED GREEK SMALL LETTER IOTA
+212C..212D    ; Math # L&   [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C
+212F..2131    ; Math # L&   [3] SCRIPT SMALL E..SCRIPT CAPITAL F
+2133..2134    ; Math # L&   [2] SCRIPT CAPITAL M..SCRIPT SMALL O
+2135..2138    ; Math # Lo   [4] ALEF SYMBOL..DALET SYMBOL
+213C..213F    ; Math # L&   [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
+2140..2144    ; Math # Sm   [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
+2145..2149    ; Math # L&   [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
+214B          ; Math # Sm       TURNED AMPERSAND
+2190..2194    ; Math # Sm   [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
+2195..2199    ; Math # So   [5] UP DOWN ARROW..SOUTH WEST ARROW
+219A..219B    ; Math # Sm   [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
+219C..219F    ; Math # So   [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
+21A0          ; Math # Sm       RIGHTWARDS TWO HEADED ARROW
+21A1..21A2    ; Math # So   [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
+21A3          ; Math # Sm       RIGHTWARDS ARROW WITH TAIL
+21A4..21A5    ; Math # So   [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
+21A6          ; Math # Sm       RIGHTWARDS ARROW FROM BAR
+21A7          ; Math # So       DOWNWARDS ARROW FROM BAR
+21A9..21AD    ; Math # So   [5] LEFTWARDS ARROW WITH HOOK..LEFT RIGHT WAVE ARROW
+21AE          ; Math # Sm       LEFT RIGHT ARROW WITH STROKE
+21B0..21B1    ; Math # So   [2] UPWARDS ARROW WITH TIP LEFTWARDS..UPWARDS ARROW WITH TIP RIGHTWARDS
+21B6..21B7    ; Math # So   [2] ANTICLOCKWISE TOP SEMICIRCLE ARROW..CLOCKWISE TOP SEMICIRCLE ARROW
+21BC..21CD    ; Math # So  [18] LEFTWARDS HARPOON WITH BARB UPWARDS..LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE..21CF    ; Math # Sm   [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0..21D1    ; Math # So   [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
+21D2          ; Math # Sm       RIGHTWARDS DOUBLE ARROW
+21D3          ; Math # So       DOWNWARDS DOUBLE ARROW
+21D4          ; Math # Sm       LEFT RIGHT DOUBLE ARROW
+21D5..21DB    ; Math # So   [7] UP DOWN DOUBLE ARROW..RIGHTWARDS TRIPLE ARROW
+21DD          ; Math # So       RIGHTWARDS SQUIGGLE ARROW
+21E4..21E5    ; Math # So   [2] LEFTWARDS ARROW TO BAR..RIGHTWARDS ARROW TO BAR
+21F4..22FF    ; Math # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP
+2308..230B    ; Math # Sm   [4] LEFT CEILING..RIGHT FLOOR
+2320..2321    ; Math # Sm   [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
+237C          ; Math # Sm       RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+239B..23B3    ; Math # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
+23B4..23B5    ; Math # So   [2] TOP SQUARE BRACKET..BOTTOM SQUARE BRACKET
+23B7          ; Math # So       RADICAL SYMBOL BOTTOM
+23D0          ; Math # So       VERTICAL LINE EXTENSION
+23DC..23E1    ; Math # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
+23E2          ; Math # So       WHITE TRAPEZIUM
+25A0..25A1    ; Math # So   [2] BLACK SQUARE..WHITE SQUARE
+25AE..25B6    ; Math # So   [9] BLACK VERTICAL RECTANGLE..BLACK RIGHT-POINTING TRIANGLE
+25B7          ; Math # Sm       WHITE RIGHT-POINTING TRIANGLE
+25BC..25C0    ; Math # So   [5] BLACK DOWN-POINTING TRIANGLE..BLACK LEFT-POINTING TRIANGLE
+25C1          ; Math # Sm       WHITE LEFT-POINTING TRIANGLE
+25C6..25C7    ; Math # So   [2] BLACK DIAMOND..WHITE DIAMOND
+25CA..25CB    ; Math # So   [2] LOZENGE..WHITE CIRCLE
+25CF..25D3    ; Math # So   [5] BLACK CIRCLE..CIRCLE WITH UPPER HALF BLACK
+25E2          ; Math # So       BLACK LOWER RIGHT TRIANGLE
+25E4          ; Math # So       BLACK UPPER LEFT TRIANGLE
+25E7..25EC    ; Math # So   [6] SQUARE WITH LEFT HALF BLACK..WHITE UP-POINTING TRIANGLE WITH DOT
+25F8..25FF    ; Math # Sm   [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
+2605..2606    ; Math # So   [2] BLACK STAR..WHITE STAR
+2640          ; Math # So       FEMALE SIGN
+2642          ; Math # So       MALE SIGN
+2660..2663    ; Math # So   [4] BLACK SPADE SUIT..BLACK CLUB SUIT
+266D..266E    ; Math # So   [2] MUSIC FLAT SIGN..MUSIC NATURAL SIGN
+266F          ; Math # Sm       MUSIC SHARP SIGN
+27C0..27C4    ; Math # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
+27C5          ; Math # Ps       LEFT S-SHAPED BAG DELIMITER
+27C6          ; Math # Pe       RIGHT S-SHAPED BAG DELIMITER
+27C7..27E5    ; Math # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
+27E6          ; Math # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7          ; Math # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8          ; Math # Ps       MATHEMATICAL LEFT ANGLE BRACKET
+27E9          ; Math # Pe       MATHEMATICAL RIGHT ANGLE BRACKET
+27EA          ; Math # Ps       MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB          ; Math # Pe       MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC          ; Math # Ps       MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED          ; Math # Pe       MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE          ; Math # Ps       MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF          ; Math # Pe       MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0..27FF    ; Math # Sm  [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
+2900..2982    ; Math # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
+2983          ; Math # Ps       LEFT WHITE CURLY BRACKET
+2984          ; Math # Pe       RIGHT WHITE CURLY BRACKET
+2985          ; Math # Ps       LEFT WHITE PARENTHESIS
+2986          ; Math # Pe       RIGHT WHITE PARENTHESIS
+2987          ; Math # Ps       Z NOTATION LEFT IMAGE BRACKET
+2988          ; Math # Pe       Z NOTATION RIGHT IMAGE BRACKET
+2989          ; Math # Ps       Z NOTATION LEFT BINDING BRACKET
+298A          ; Math # Pe       Z NOTATION RIGHT BINDING BRACKET
+298B          ; Math # Ps       LEFT SQUARE BRACKET WITH UNDERBAR
+298C          ; Math # Pe       RIGHT SQUARE BRACKET WITH UNDERBAR
+298D          ; Math # Ps       LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E          ; Math # Pe       RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F          ; Math # Ps       LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990          ; Math # Pe       RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991          ; Math # Ps       LEFT ANGLE BRACKET WITH DOT
+2992          ; Math # Pe       RIGHT ANGLE BRACKET WITH DOT
+2993          ; Math # Ps       LEFT ARC LESS-THAN BRACKET
+2994          ; Math # Pe       RIGHT ARC GREATER-THAN BRACKET
+2995          ; Math # Ps       DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996          ; Math # Pe       DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997          ; Math # Ps       LEFT BLACK TORTOISE SHELL BRACKET
+2998          ; Math # Pe       RIGHT BLACK TORTOISE SHELL BRACKET
+2999..29D7    ; Math # Sm  [63] DOTTED FENCE..BLACK HOURGLASS
+29D8          ; Math # Ps       LEFT WIGGLY FENCE
+29D9          ; Math # Pe       RIGHT WIGGLY FENCE
+29DA          ; Math # Ps       LEFT DOUBLE WIGGLY FENCE
+29DB          ; Math # Pe       RIGHT DOUBLE WIGGLY FENCE
+29DC..29FB    ; Math # Sm  [32] INCOMPLETE INFINITY..TRIPLE PLUS
+29FC          ; Math # Ps       LEFT-POINTING CURVED ANGLE BRACKET
+29FD          ; Math # Pe       RIGHT-POINTING CURVED ANGLE BRACKET
+29FE..2AFF    ; Math # Sm [258] TINY..N-ARY WHITE VERTICAL BAR
+2B30..2B44    ; Math # Sm  [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
+2B47..2B4C    ; Math # Sm   [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+FB29          ; Math # Sm       HEBREW LETTER ALTERNATIVE PLUS SIGN
+FE61          ; Math # Po       SMALL ASTERISK
+FE62          ; Math # Sm       SMALL PLUS SIGN
+FE63          ; Math # Pd       SMALL HYPHEN-MINUS
+FE64..FE66    ; Math # Sm   [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
+FE68          ; Math # Po       SMALL REVERSE SOLIDUS
+FF0B          ; Math # Sm       FULLWIDTH PLUS SIGN
+FF1C..FF1E    ; Math # Sm   [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
+FF3C          ; Math # Po       FULLWIDTH REVERSE SOLIDUS
+FF3E          ; Math # Sk       FULLWIDTH CIRCUMFLEX ACCENT
+FF5C          ; Math # Sm       FULLWIDTH VERTICAL LINE
+FF5E          ; Math # Sm       FULLWIDTH TILDE
+FFE2          ; Math # Sm       FULLWIDTH NOT SIGN
+FFE9..FFEC    ; Math # Sm   [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
+1D400..1D454  ; Math # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
+1D456..1D49C  ; Math # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
+1D49E..1D49F  ; Math # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
+1D4A2         ; Math # L&       MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6  ; Math # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
+1D4A9..1D4AC  ; Math # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE..1D4B9  ; Math # L&  [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
+1D4BB         ; Math # L&       MATHEMATICAL SCRIPT SMALL F
+1D4BD..1D4C3  ; Math # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
+1D4C5..1D505  ; Math # L&  [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
+1D507..1D50A  ; Math # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
+1D50D..1D514  ; Math # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
+1D516..1D51C  ; Math # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
+1D51E..1D539  ; Math # L&  [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B..1D53E  ; Math # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540..1D544  ; Math # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546         ; Math # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550  ; Math # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D552..1D6A5  ; Math # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6A8..1D6C0  ; Math # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
+1D6C1         ; Math # Sm       MATHEMATICAL BOLD NABLA
+1D6C2..1D6DA  ; Math # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
+1D6DB         ; Math # Sm       MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6DC..1D6FA  ; Math # L&  [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
+1D6FB         ; Math # Sm       MATHEMATICAL ITALIC NABLA
+1D6FC..1D714  ; Math # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
+1D715         ; Math # Sm       MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D716..1D734  ; Math # L&  [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D735         ; Math # Sm       MATHEMATICAL BOLD ITALIC NABLA
+1D736..1D74E  ; Math # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D74F         ; Math # Sm       MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D750..1D76E  ; Math # L&  [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D76F         ; Math # Sm       MATHEMATICAL SANS-SERIF BOLD NABLA
+1D770..1D788  ; Math # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D789         ; Math # Sm       MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D78A..1D7A8  ; Math # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7A9         ; Math # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7AA..1D7C2  ; Math # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C3         ; Math # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1D7C4..1D7CB  ; Math # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1D7CE..1D7FF  ; Math # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Math # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Math # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Math # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Math # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Math # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Math # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Math # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Math # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Math # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Math # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Math # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Math # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Math # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Math # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Math # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Math # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Math # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Math # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Math # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Math # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Math # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Math # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Math # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Math # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Math # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Math # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Math # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Math # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; Math # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+
+# Total code points: 2310
+
+# ================================================
+
+# Derived Property: Alphabetic
+#  Generated from: Lu+Ll+Lt+Lm+Lo+Nl + Other_Alphabetic
+
+0041..005A    ; Alphabetic # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
+0061..007A    ; Alphabetic # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+00AA          ; Alphabetic # Lo       FEMININE ORDINAL INDICATOR
+00B5          ; Alphabetic # L&       MICRO SIGN
+00BA          ; Alphabetic # Lo       MASCULINE ORDINAL INDICATOR
+00C0..00D6    ; Alphabetic # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
+00D8..00F6    ; Alphabetic # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
+00F8..01BA    ; Alphabetic # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
+01BB          ; Alphabetic # Lo       LATIN LETTER TWO WITH STROKE
+01BC..01BF    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
+01C0..01C3    ; Alphabetic # Lo   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
+01C4..0293    ; Alphabetic # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
+0294          ; Alphabetic # Lo       LATIN LETTER GLOTTAL STOP
+0295..02AF    ; Alphabetic # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+02B0..02C1    ; Alphabetic # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
+02C6..02D1    ; Alphabetic # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
+02E0..02E4    ; Alphabetic # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02EC          ; Alphabetic # Lm       MODIFIER LETTER VOICING
+02EE          ; Alphabetic # Lm       MODIFIER LETTER DOUBLE APOSTROPHE
+0345          ; Alphabetic # Mn       COMBINING GREEK YPOGEGRAMMENI
+0370..0373    ; Alphabetic # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
+0374          ; Alphabetic # Lm       GREEK NUMERAL SIGN
+0376..0377    ; Alphabetic # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037A          ; Alphabetic # Lm       GREEK YPOGEGRAMMENI
+037B..037D    ; Alphabetic # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0386          ; Alphabetic # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
+0388..038A    ; Alphabetic # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
+038C          ; Alphabetic # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
+038E..03A1    ; Alphabetic # L&  [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
+03A3..03F5    ; Alphabetic # L&  [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
+03F7..0481    ; Alphabetic # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
+048A..0527    ; Alphabetic # L& [158] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0531..0556    ; Alphabetic # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
+0559          ; Alphabetic # Lm       ARMENIAN MODIFIER LETTER LEFT HALF RING
+0561..0587    ; Alphabetic # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+05B0..05BD    ; Alphabetic # Mn  [14] HEBREW POINT SHEVA..HEBREW POINT METEG
+05BF          ; Alphabetic # Mn       HEBREW POINT RAFE
+05C1..05C2    ; Alphabetic # Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
+05C4..05C5    ; Alphabetic # Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
+05C7          ; Alphabetic # Mn       HEBREW POINT QAMATS QATAN
+05D0..05EA    ; Alphabetic # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
+05F0..05F2    ; Alphabetic # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
+0610..061A    ; Alphabetic # Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
+0620..063F    ; Alphabetic # Lo  [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0640          ; Alphabetic # Lm       ARABIC TATWEEL
+0641..064A    ; Alphabetic # Lo  [10] ARABIC LETTER FEH..ARABIC LETTER YEH
+064B..0657    ; Alphabetic # Mn  [13] ARABIC FATHATAN..ARABIC INVERTED DAMMA
+0659..065F    ; Alphabetic # Mn   [7] ARABIC ZWARAKAY..ARABIC WAVY HAMZA BELOW
+066E..066F    ; Alphabetic # Lo   [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
+0670          ; Alphabetic # Mn       ARABIC LETTER SUPERSCRIPT ALEF
+0671..06D3    ; Alphabetic # Lo  [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06D5          ; Alphabetic # Lo       ARABIC LETTER AE
+06D6..06DC    ; Alphabetic # Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
+06E1..06E4    ; Alphabetic # Mn   [4] ARABIC SMALL HIGH DOTLESS HEAD OF KHAH..ARABIC SMALL HIGH MADDA
+06E5..06E6    ; Alphabetic # Lm   [2] ARABIC SMALL WAW..ARABIC SMALL YEH
+06E7..06E8    ; Alphabetic # Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
+06ED          ; Alphabetic # Mn       ARABIC SMALL LOW MEEM
+06EE..06EF    ; Alphabetic # Lo   [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
+06FA..06FC    ; Alphabetic # Lo   [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
+06FF          ; Alphabetic # Lo       ARABIC LETTER HEH WITH INVERTED V
+0710          ; Alphabetic # Lo       SYRIAC LETTER ALAPH
+0711          ; Alphabetic # Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
+0712..072F    ; Alphabetic # Lo  [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
+0730..073F    ; Alphabetic # Mn  [16] SYRIAC PTHAHA ABOVE..SYRIAC RWAHA
+074D..07A5    ; Alphabetic # Lo  [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
+07A6..07B0    ; Alphabetic # Mn  [11] THAANA ABAFILI..THAANA SUKUN
+07B1          ; Alphabetic # Lo       THAANA LETTER NAA
+07CA..07EA    ; Alphabetic # Lo  [33] NKO LETTER A..NKO LETTER JONA RA
+07F4..07F5    ; Alphabetic # Lm   [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
+07FA          ; Alphabetic # Lm       NKO LAJANYALAN
+0800..0815    ; Alphabetic # Lo  [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
+0816..0817    ; Alphabetic # Mn   [2] SAMARITAN MARK IN..SAMARITAN MARK IN-ALAF
+081A          ; Alphabetic # Lm       SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B..0823    ; Alphabetic # Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
+0824          ; Alphabetic # Lm       SAMARITAN MODIFIER LETTER SHORT A
+0825..0827    ; Alphabetic # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
+0828          ; Alphabetic # Lm       SAMARITAN MODIFIER LETTER I
+0829..082C    ; Alphabetic # Mn   [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN
+0840..0858    ; Alphabetic # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+08A0          ; Alphabetic # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; Alphabetic # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08E9    ; Alphabetic # Mn   [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN
+08F0..08FE    ; Alphabetic # Mn  [15] ARABIC OPEN FATHATAN..ARABIC DAMMA WITH DOT
+0900..0902    ; Alphabetic # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
+0903          ; Alphabetic # Mc       DEVANAGARI SIGN VISARGA
+0904..0939    ; Alphabetic # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
+093A          ; Alphabetic # Mn       DEVANAGARI VOWEL SIGN OE
+093B          ; Alphabetic # Mc       DEVANAGARI VOWEL SIGN OOE
+093D          ; Alphabetic # Lo       DEVANAGARI SIGN AVAGRAHA
+093E..0940    ; Alphabetic # Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
+0941..0948    ; Alphabetic # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
+0949..094C    ; Alphabetic # Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
+094E..094F    ; Alphabetic # Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
+0950          ; Alphabetic # Lo       DEVANAGARI OM
+0955..0957    ; Alphabetic # Mn   [3] DEVANAGARI VOWEL SIGN CANDRA LONG E..DEVANAGARI VOWEL SIGN UUE
+0958..0961    ; Alphabetic # Lo  [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
+0962..0963    ; Alphabetic # Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
+0971          ; Alphabetic # Lm       DEVANAGARI SIGN HIGH SPACING DOT
+0972..0977    ; Alphabetic # Lo   [6] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER UUE
+0979..097F    ; Alphabetic # Lo   [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
+0981          ; Alphabetic # Mn       BENGALI SIGN CANDRABINDU
+0982..0983    ; Alphabetic # Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
+0985..098C    ; Alphabetic # Lo   [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
+098F..0990    ; Alphabetic # Lo   [2] BENGALI LETTER E..BENGALI LETTER AI
+0993..09A8    ; Alphabetic # Lo  [22] BENGALI LETTER O..BENGALI LETTER NA
+09AA..09B0    ; Alphabetic # Lo   [7] BENGALI LETTER PA..BENGALI LETTER RA
+09B2          ; Alphabetic # Lo       BENGALI LETTER LA
+09B6..09B9    ; Alphabetic # Lo   [4] BENGALI LETTER SHA..BENGALI LETTER HA
+09BD          ; Alphabetic # Lo       BENGALI SIGN AVAGRAHA
+09BE..09C0    ; Alphabetic # Mc   [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
+09C1..09C4    ; Alphabetic # Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
+09C7..09C8    ; Alphabetic # Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
+09CB..09CC    ; Alphabetic # Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
+09CE          ; Alphabetic # Lo       BENGALI LETTER KHANDA TA
+09D7          ; Alphabetic # Mc       BENGALI AU LENGTH MARK
+09DC..09DD    ; Alphabetic # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
+09DF..09E1    ; Alphabetic # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
+09E2..09E3    ; Alphabetic # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
+09F0..09F1    ; Alphabetic # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+0A01..0A02    ; Alphabetic # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
+0A03          ; Alphabetic # Mc       GURMUKHI SIGN VISARGA
+0A05..0A0A    ; Alphabetic # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
+0A0F..0A10    ; Alphabetic # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
+0A13..0A28    ; Alphabetic # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
+0A2A..0A30    ; Alphabetic # Lo   [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
+0A32..0A33    ; Alphabetic # Lo   [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
+0A35..0A36    ; Alphabetic # Lo   [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
+0A38..0A39    ; Alphabetic # Lo   [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
+0A3E..0A40    ; Alphabetic # Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
+0A41..0A42    ; Alphabetic # Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
+0A47..0A48    ; Alphabetic # Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
+0A4B..0A4C    ; Alphabetic # Mn   [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU
+0A51          ; Alphabetic # Mn       GURMUKHI SIGN UDAAT
+0A59..0A5C    ; Alphabetic # Lo   [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
+0A5E          ; Alphabetic # Lo       GURMUKHI LETTER FA
+0A70..0A71    ; Alphabetic # Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
+0A72..0A74    ; Alphabetic # Lo   [3] GURMUKHI IRI..GURMUKHI EK ONKAR
+0A75          ; Alphabetic # Mn       GURMUKHI SIGN YAKASH
+0A81..0A82    ; Alphabetic # Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
+0A83          ; Alphabetic # Mc       GUJARATI SIGN VISARGA
+0A85..0A8D    ; Alphabetic # Lo   [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
+0A8F..0A91    ; Alphabetic # Lo   [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
+0A93..0AA8    ; Alphabetic # Lo  [22] GUJARATI LETTER O..GUJARATI LETTER NA
+0AAA..0AB0    ; Alphabetic # Lo   [7] GUJARATI LETTER PA..GUJARATI LETTER RA
+0AB2..0AB3    ; Alphabetic # Lo   [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
+0AB5..0AB9    ; Alphabetic # Lo   [5] GUJARATI LETTER VA..GUJARATI LETTER HA
+0ABD          ; Alphabetic # Lo       GUJARATI SIGN AVAGRAHA
+0ABE..0AC0    ; Alphabetic # Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
+0AC1..0AC5    ; Alphabetic # Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
+0AC7..0AC8    ; Alphabetic # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
+0AC9          ; Alphabetic # Mc       GUJARATI VOWEL SIGN CANDRA O
+0ACB..0ACC    ; Alphabetic # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
+0AD0          ; Alphabetic # Lo       GUJARATI OM
+0AE0..0AE1    ; Alphabetic # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AE2..0AE3    ; Alphabetic # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0B01          ; Alphabetic # Mn       ORIYA SIGN CANDRABINDU
+0B02..0B03    ; Alphabetic # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
+0B05..0B0C    ; Alphabetic # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
+0B0F..0B10    ; Alphabetic # Lo   [2] ORIYA LETTER E..ORIYA LETTER AI
+0B13..0B28    ; Alphabetic # Lo  [22] ORIYA LETTER O..ORIYA LETTER NA
+0B2A..0B30    ; Alphabetic # Lo   [7] ORIYA LETTER PA..ORIYA LETTER RA
+0B32..0B33    ; Alphabetic # Lo   [2] ORIYA LETTER LA..ORIYA LETTER LLA
+0B35..0B39    ; Alphabetic # Lo   [5] ORIYA LETTER VA..ORIYA LETTER HA
+0B3D          ; Alphabetic # Lo       ORIYA SIGN AVAGRAHA
+0B3E          ; Alphabetic # Mc       ORIYA VOWEL SIGN AA
+0B3F          ; Alphabetic # Mn       ORIYA VOWEL SIGN I
+0B40          ; Alphabetic # Mc       ORIYA VOWEL SIGN II
+0B41..0B44    ; Alphabetic # Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
+0B47..0B48    ; Alphabetic # Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
+0B4B..0B4C    ; Alphabetic # Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
+0B56          ; Alphabetic # Mn       ORIYA AI LENGTH MARK
+0B57          ; Alphabetic # Mc       ORIYA AU LENGTH MARK
+0B5C..0B5D    ; Alphabetic # Lo   [2] ORIYA LETTER RRA..ORIYA LETTER RHA
+0B5F..0B61    ; Alphabetic # Lo   [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
+0B62..0B63    ; Alphabetic # Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
+0B71          ; Alphabetic # Lo       ORIYA LETTER WA
+0B82          ; Alphabetic # Mn       TAMIL SIGN ANUSVARA
+0B83          ; Alphabetic # Lo       TAMIL SIGN VISARGA
+0B85..0B8A    ; Alphabetic # Lo   [6] TAMIL LETTER A..TAMIL LETTER UU
+0B8E..0B90    ; Alphabetic # Lo   [3] TAMIL LETTER E..TAMIL LETTER AI
+0B92..0B95    ; Alphabetic # Lo   [4] TAMIL LETTER O..TAMIL LETTER KA
+0B99..0B9A    ; Alphabetic # Lo   [2] TAMIL LETTER NGA..TAMIL LETTER CA
+0B9C          ; Alphabetic # Lo       TAMIL LETTER JA
+0B9E..0B9F    ; Alphabetic # Lo   [2] TAMIL LETTER NYA..TAMIL LETTER TTA
+0BA3..0BA4    ; Alphabetic # Lo   [2] TAMIL LETTER NNA..TAMIL LETTER TA
+0BA8..0BAA    ; Alphabetic # Lo   [3] TAMIL LETTER NA..TAMIL LETTER PA
+0BAE..0BB9    ; Alphabetic # Lo  [12] TAMIL LETTER MA..TAMIL LETTER HA
+0BBE..0BBF    ; Alphabetic # Mc   [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
+0BC0          ; Alphabetic # Mn       TAMIL VOWEL SIGN II
+0BC1..0BC2    ; Alphabetic # Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
+0BC6..0BC8    ; Alphabetic # Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
+0BCA..0BCC    ; Alphabetic # Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
+0BD0          ; Alphabetic # Lo       TAMIL OM
+0BD7          ; Alphabetic # Mc       TAMIL AU LENGTH MARK
+0C01..0C03    ; Alphabetic # Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
+0C05..0C0C    ; Alphabetic # Lo   [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
+0C0E..0C10    ; Alphabetic # Lo   [3] TELUGU LETTER E..TELUGU LETTER AI
+0C12..0C28    ; Alphabetic # Lo  [23] TELUGU LETTER O..TELUGU LETTER NA
+0C2A..0C33    ; Alphabetic # Lo  [10] TELUGU LETTER PA..TELUGU LETTER LLA
+0C35..0C39    ; Alphabetic # Lo   [5] TELUGU LETTER VA..TELUGU LETTER HA
+0C3D          ; Alphabetic # Lo       TELUGU SIGN AVAGRAHA
+0C3E..0C40    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
+0C41..0C44    ; Alphabetic # Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
+0C46..0C48    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
+0C4A..0C4C    ; Alphabetic # Mn   [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU
+0C55..0C56    ; Alphabetic # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
+0C58..0C59    ; Alphabetic # Lo   [2] TELUGU LETTER TSA..TELUGU LETTER DZA
+0C60..0C61    ; Alphabetic # Lo   [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
+0C62..0C63    ; Alphabetic # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
+0C82..0C83    ; Alphabetic # Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
+0C85..0C8C    ; Alphabetic # Lo   [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
+0C8E..0C90    ; Alphabetic # Lo   [3] KANNADA LETTER E..KANNADA LETTER AI
+0C92..0CA8    ; Alphabetic # Lo  [23] KANNADA LETTER O..KANNADA LETTER NA
+0CAA..0CB3    ; Alphabetic # Lo  [10] KANNADA LETTER PA..KANNADA LETTER LLA
+0CB5..0CB9    ; Alphabetic # Lo   [5] KANNADA LETTER VA..KANNADA LETTER HA
+0CBD          ; Alphabetic # Lo       KANNADA SIGN AVAGRAHA
+0CBE          ; Alphabetic # Mc       KANNADA VOWEL SIGN AA
+0CBF          ; Alphabetic # Mn       KANNADA VOWEL SIGN I
+0CC0..0CC4    ; Alphabetic # Mc   [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
+0CC6          ; Alphabetic # Mn       KANNADA VOWEL SIGN E
+0CC7..0CC8    ; Alphabetic # Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
+0CCA..0CCB    ; Alphabetic # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
+0CCC          ; Alphabetic # Mn       KANNADA VOWEL SIGN AU
+0CD5..0CD6    ; Alphabetic # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
+0CDE          ; Alphabetic # Lo       KANNADA LETTER FA
+0CE0..0CE1    ; Alphabetic # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
+0CE2..0CE3    ; Alphabetic # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
+0CF1..0CF2    ; Alphabetic # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
+0D02..0D03    ; Alphabetic # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
+0D05..0D0C    ; Alphabetic # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
+0D0E..0D10    ; Alphabetic # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
+0D12..0D3A    ; Alphabetic # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3D          ; Alphabetic # Lo       MALAYALAM SIGN AVAGRAHA
+0D3E..0D40    ; Alphabetic # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
+0D41..0D44    ; Alphabetic # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
+0D46..0D48    ; Alphabetic # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
+0D4A..0D4C    ; Alphabetic # Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
+0D4E          ; Alphabetic # Lo       MALAYALAM LETTER DOT REPH
+0D57          ; Alphabetic # Mc       MALAYALAM AU LENGTH MARK
+0D60..0D61    ; Alphabetic # Lo   [2] MALAYALAM LETTER VOCALIC RR..MALAYALAM LETTER VOCALIC LL
+0D62..0D63    ; Alphabetic # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
+0D7A..0D7F    ; Alphabetic # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
+0D82..0D83    ; Alphabetic # Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
+0D85..0D96    ; Alphabetic # Lo  [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
+0D9A..0DB1    ; Alphabetic # Lo  [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
+0DB3..0DBB    ; Alphabetic # Lo   [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
+0DBD          ; Alphabetic # Lo       SINHALA LETTER DANTAJA LAYANNA
+0DC0..0DC6    ; Alphabetic # Lo   [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
+0DCF..0DD1    ; Alphabetic # Mc   [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2..0DD4    ; Alphabetic # Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6          ; Alphabetic # Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8..0DDF    ; Alphabetic # Mc   [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
+0DF2..0DF3    ; Alphabetic # Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0E01..0E30    ; Alphabetic # Lo  [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
+0E31          ; Alphabetic # Mn       THAI CHARACTER MAI HAN-AKAT
+0E32..0E33    ; Alphabetic # Lo   [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
+0E34..0E3A    ; Alphabetic # Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
+0E40..0E45    ; Alphabetic # Lo   [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
+0E46          ; Alphabetic # Lm       THAI CHARACTER MAIYAMOK
+0E4D          ; Alphabetic # Mn       THAI CHARACTER NIKHAHIT
+0E81..0E82    ; Alphabetic # Lo   [2] LAO LETTER KO..LAO LETTER KHO SUNG
+0E84          ; Alphabetic # Lo       LAO LETTER KHO TAM
+0E87..0E88    ; Alphabetic # Lo   [2] LAO LETTER NGO..LAO LETTER CO
+0E8A          ; Alphabetic # Lo       LAO LETTER SO TAM
+0E8D          ; Alphabetic # Lo       LAO LETTER NYO
+0E94..0E97    ; Alphabetic # Lo   [4] LAO LETTER DO..LAO LETTER THO TAM
+0E99..0E9F    ; Alphabetic # Lo   [7] LAO LETTER NO..LAO LETTER FO SUNG
+0EA1..0EA3    ; Alphabetic # Lo   [3] LAO LETTER MO..LAO LETTER LO LING
+0EA5          ; Alphabetic # Lo       LAO LETTER LO LOOT
+0EA7          ; Alphabetic # Lo       LAO LETTER WO
+0EAA..0EAB    ; Alphabetic # Lo   [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
+0EAD..0EB0    ; Alphabetic # Lo   [4] LAO LETTER O..LAO VOWEL SIGN A
+0EB1          ; Alphabetic # Mn       LAO VOWEL SIGN MAI KAN
+0EB2..0EB3    ; Alphabetic # Lo   [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
+0EB4..0EB9    ; Alphabetic # Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
+0EBB..0EBC    ; Alphabetic # Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
+0EBD          ; Alphabetic # Lo       LAO SEMIVOWEL SIGN NYO
+0EC0..0EC4    ; Alphabetic # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
+0EC6          ; Alphabetic # Lm       LAO KO LA
+0ECD          ; Alphabetic # Mn       LAO NIGGAHITA
+0EDC..0EDF    ; Alphabetic # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
+0F00          ; Alphabetic # Lo       TIBETAN SYLLABLE OM
+0F40..0F47    ; Alphabetic # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
+0F49..0F6C    ; Alphabetic # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
+0F71..0F7E    ; Alphabetic # Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
+0F7F          ; Alphabetic # Mc       TIBETAN SIGN RNAM BCAD
+0F80..0F81    ; Alphabetic # Mn   [2] TIBETAN VOWEL SIGN REVERSED I..TIBETAN VOWEL SIGN REVERSED II
+0F88..0F8C    ; Alphabetic # Lo   [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
+0F8D..0F97    ; Alphabetic # Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
+0F99..0FBC    ; Alphabetic # Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
+1000..102A    ; Alphabetic # Lo  [43] MYANMAR LETTER KA..MYANMAR LETTER AU
+102B..102C    ; Alphabetic # Mc   [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
+102D..1030    ; Alphabetic # Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
+1031          ; Alphabetic # Mc       MYANMAR VOWEL SIGN E
+1032..1036    ; Alphabetic # Mn   [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA
+1038          ; Alphabetic # Mc       MYANMAR SIGN VISARGA
+103B..103C    ; Alphabetic # Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
+103D..103E    ; Alphabetic # Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
+103F          ; Alphabetic # Lo       MYANMAR LETTER GREAT SA
+1050..1055    ; Alphabetic # Lo   [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
+1056..1057    ; Alphabetic # Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
+1058..1059    ; Alphabetic # Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
+105A..105D    ; Alphabetic # Lo   [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
+105E..1060    ; Alphabetic # Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
+1061          ; Alphabetic # Lo       MYANMAR LETTER SGAW KAREN SHA
+1062          ; Alphabetic # Mc       MYANMAR VOWEL SIGN SGAW KAREN EU
+1065..1066    ; Alphabetic # Lo   [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
+1067..1068    ; Alphabetic # Mc   [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+106E..1070    ; Alphabetic # Lo   [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
+1071..1074    ; Alphabetic # Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
+1075..1081    ; Alphabetic # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
+1082          ; Alphabetic # Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1083..1084    ; Alphabetic # Mc   [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
+1085..1086    ; Alphabetic # Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
+108E          ; Alphabetic # Lo       MYANMAR LETTER RUMAI PALAUNG FA
+109C          ; Alphabetic # Mc       MYANMAR VOWEL SIGN AITON A
+109D          ; Alphabetic # Mn       MYANMAR VOWEL SIGN AITON AI
+10A0..10C5    ; Alphabetic # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Alphabetic # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Alphabetic # L&       GEORGIAN CAPITAL LETTER AEN
+10D0..10FA    ; Alphabetic # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
+10FC          ; Alphabetic # Lm       MODIFIER LETTER GEORGIAN NAR
+10FD..1248    ; Alphabetic # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
+124A..124D    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
+1250..1256    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
+1258          ; Alphabetic # Lo       ETHIOPIC SYLLABLE QHWA
+125A..125D    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
+1260..1288    ; Alphabetic # Lo  [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
+128A..128D    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
+1290..12B0    ; Alphabetic # Lo  [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
+12B2..12B5    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
+12B8..12BE    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
+12C0          ; Alphabetic # Lo       ETHIOPIC SYLLABLE KXWA
+12C2..12C5    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
+12C8..12D6    ; Alphabetic # Lo  [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8..1310    ; Alphabetic # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
+1312..1315    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
+1318..135A    ; Alphabetic # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
+135F          ; Alphabetic # Mn       ETHIOPIC COMBINING GEMINATION MARK
+1380..138F    ; Alphabetic # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
+13A0..13F4    ; Alphabetic # Lo  [85] CHEROKEE LETTER A..CHEROKEE LETTER YV
+1401..166C    ; Alphabetic # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
+166F..167F    ; Alphabetic # Lo  [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
+1681..169A    ; Alphabetic # Lo  [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
+16A0..16EA    ; Alphabetic # Lo  [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
+16EE..16F0    ; Alphabetic # Nl   [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
+1700..170C    ; Alphabetic # Lo  [13] TAGALOG LETTER A..TAGALOG LETTER YA
+170E..1711    ; Alphabetic # Lo   [4] TAGALOG LETTER LA..TAGALOG LETTER HA
+1712..1713    ; Alphabetic # Mn   [2] TAGALOG VOWEL SIGN I..TAGALOG VOWEL SIGN U
+1720..1731    ; Alphabetic # Lo  [18] HANUNOO LETTER A..HANUNOO LETTER HA
+1732..1733    ; Alphabetic # Mn   [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
+1740..1751    ; Alphabetic # Lo  [18] BUHID LETTER A..BUHID LETTER HA
+1752..1753    ; Alphabetic # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
+1760..176C    ; Alphabetic # Lo  [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
+176E..1770    ; Alphabetic # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
+1772..1773    ; Alphabetic # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+1780..17B3    ; Alphabetic # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
+17B6          ; Alphabetic # Mc       KHMER VOWEL SIGN AA
+17B7..17BD    ; Alphabetic # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
+17BE..17C5    ; Alphabetic # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
+17C6          ; Alphabetic # Mn       KHMER SIGN NIKAHIT
+17C7..17C8    ; Alphabetic # Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
+17D7          ; Alphabetic # Lm       KHMER SIGN LEK TOO
+17DC          ; Alphabetic # Lo       KHMER SIGN AVAKRAHASANYA
+1820..1842    ; Alphabetic # Lo  [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
+1843          ; Alphabetic # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1844..1877    ; Alphabetic # Lo  [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
+1880..18A8    ; Alphabetic # Lo  [41] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER MANCHU ALI GALI BHA
+18A9          ; Alphabetic # Mn       MONGOLIAN LETTER ALI GALI DAGALGA
+18AA          ; Alphabetic # Lo       MONGOLIAN LETTER MANCHU ALI GALI LHA
+18B0..18F5    ; Alphabetic # Lo  [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
+1900..191C    ; Alphabetic # Lo  [29] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER HA
+1920..1922    ; Alphabetic # Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
+1923..1926    ; Alphabetic # Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
+1927..1928    ; Alphabetic # Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
+1929..192B    ; Alphabetic # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
+1930..1931    ; Alphabetic # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
+1932          ; Alphabetic # Mn       LIMBU SMALL LETTER ANUSVARA
+1933..1938    ; Alphabetic # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
+1950..196D    ; Alphabetic # Lo  [30] TAI LE LETTER KA..TAI LE LETTER AI
+1970..1974    ; Alphabetic # Lo   [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
+1980..19AB    ; Alphabetic # Lo  [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
+19B0..19C0    ; Alphabetic # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
+19C1..19C7    ; Alphabetic # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
+19C8..19C9    ; Alphabetic # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+1A00..1A16    ; Alphabetic # Lo  [23] BUGINESE LETTER KA..BUGINESE LETTER HA
+1A17..1A18    ; Alphabetic # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
+1A19..1A1B    ; Alphabetic # Mc   [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
+1A20..1A54    ; Alphabetic # Lo  [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
+1A55          ; Alphabetic # Mc       TAI THAM CONSONANT SIGN MEDIAL RA
+1A56          ; Alphabetic # Mn       TAI THAM CONSONANT SIGN MEDIAL LA
+1A57          ; Alphabetic # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
+1A58..1A5E    ; Alphabetic # Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
+1A61          ; Alphabetic # Mc       TAI THAM VOWEL SIGN A
+1A62          ; Alphabetic # Mn       TAI THAM VOWEL SIGN MAI SAT
+1A63..1A64    ; Alphabetic # Mc   [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
+1A65..1A6C    ; Alphabetic # Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
+1A6D..1A72    ; Alphabetic # Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
+1A73..1A74    ; Alphabetic # Mn   [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
+1AA7          ; Alphabetic # Lm       TAI THAM SIGN MAI YAMOK
+1B00..1B03    ; Alphabetic # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
+1B04          ; Alphabetic # Mc       BALINESE SIGN BISAH
+1B05..1B33    ; Alphabetic # Lo  [47] BALINESE LETTER AKARA..BALINESE LETTER HA
+1B35          ; Alphabetic # Mc       BALINESE VOWEL SIGN TEDUNG
+1B36..1B3A    ; Alphabetic # Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
+1B3B          ; Alphabetic # Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C          ; Alphabetic # Mn       BALINESE VOWEL SIGN LA LENGA
+1B3D..1B41    ; Alphabetic # Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42          ; Alphabetic # Mn       BALINESE VOWEL SIGN PEPET
+1B43          ; Alphabetic # Mc       BALINESE VOWEL SIGN PEPET TEDUNG
+1B45..1B4B    ; Alphabetic # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
+1B80..1B81    ; Alphabetic # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
+1B82          ; Alphabetic # Mc       SUNDANESE SIGN PANGWISAD
+1B83..1BA0    ; Alphabetic # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
+1BA1          ; Alphabetic # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
+1BA2..1BA5    ; Alphabetic # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
+1BA6..1BA7    ; Alphabetic # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
+1BA8..1BA9    ; Alphabetic # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAC..1BAD    ; Alphabetic # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
+1BAE..1BAF    ; Alphabetic # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
+1BBA..1BE5    ; Alphabetic # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
+1BE7          ; Alphabetic # Mc       BATAK VOWEL SIGN E
+1BE8..1BE9    ; Alphabetic # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
+1BEA..1BEC    ; Alphabetic # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
+1BED          ; Alphabetic # Mn       BATAK VOWEL SIGN KARO O
+1BEE          ; Alphabetic # Mc       BATAK VOWEL SIGN U
+1BEF..1BF1    ; Alphabetic # Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
+1C00..1C23    ; Alphabetic # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
+1C24..1C2B    ; Alphabetic # Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
+1C2C..1C33    ; Alphabetic # Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
+1C34..1C35    ; Alphabetic # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
+1C4D..1C4F    ; Alphabetic # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
+1C5A..1C77    ; Alphabetic # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
+1C78..1C7D    ; Alphabetic # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
+1CE9..1CEC    ; Alphabetic # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CEE..1CF1    ; Alphabetic # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF2..1CF3    ; Alphabetic # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; Alphabetic # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1D00..1D2B    ; Alphabetic # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
+1D2C..1D6A    ; Alphabetic # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; Alphabetic # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
+1D78          ; Alphabetic # Lm       MODIFIER LETTER CYRILLIC EN
+1D79..1D9A    ; Alphabetic # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+1D9B..1DBF    ; Alphabetic # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
+1E00..1F15    ; Alphabetic # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F18..1F1D    ; Alphabetic # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F20..1F45    ; Alphabetic # L&  [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F48..1F4D    ; Alphabetic # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F50..1F57    ; Alphabetic # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F59          ; Alphabetic # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F5B          ; Alphabetic # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F5D          ; Alphabetic # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F5F..1F7D    ; Alphabetic # L&  [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
+1F80..1FB4    ; Alphabetic # L&  [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FB6..1FBC    ; Alphabetic # L&   [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FBE          ; Alphabetic # L&       GREEK PROSGEGRAMMENI
+1FC2..1FC4    ; Alphabetic # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FC6..1FCC    ; Alphabetic # L&   [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FD0..1FD3    ; Alphabetic # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6..1FDB    ; Alphabetic # L&   [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
+1FE0..1FEC    ; Alphabetic # L&  [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
+1FF2..1FF4    ; Alphabetic # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1FF6..1FFC    ; Alphabetic # L&   [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+2071          ; Alphabetic # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Alphabetic # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Alphabetic # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
+2102          ; Alphabetic # L&       DOUBLE-STRUCK CAPITAL C
+2107          ; Alphabetic # L&       EULER CONSTANT
+210A..2113    ; Alphabetic # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
+2115          ; Alphabetic # L&       DOUBLE-STRUCK CAPITAL N
+2119..211D    ; Alphabetic # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124          ; Alphabetic # L&       DOUBLE-STRUCK CAPITAL Z
+2126          ; Alphabetic # L&       OHM SIGN
+2128          ; Alphabetic # L&       BLACK-LETTER CAPITAL Z
+212A..212D    ; Alphabetic # L&   [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
+212F..2134    ; Alphabetic # L&   [6] SCRIPT SMALL E..SCRIPT SMALL O
+2135..2138    ; Alphabetic # Lo   [4] ALEF SYMBOL..DALET SYMBOL
+2139          ; Alphabetic # L&       INFORMATION SOURCE
+213C..213F    ; Alphabetic # L&   [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
+2145..2149    ; Alphabetic # L&   [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
+214E          ; Alphabetic # L&       TURNED SMALL F
+2160..2182    ; Alphabetic # Nl  [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
+2183..2184    ; Alphabetic # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
+2185..2188    ; Alphabetic # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
+24B6..24E9    ; Alphabetic # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
+2C00..2C2E    ; Alphabetic # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+2C30..2C5E    ; Alphabetic # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C60..2C7B    ; Alphabetic # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Alphabetic # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
+2C7E..2CE4    ; Alphabetic # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
+2CEB..2CEE    ; Alphabetic # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Alphabetic # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
+2D00..2D25    ; Alphabetic # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Alphabetic # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Alphabetic # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; Alphabetic # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
+2D6F          ; Alphabetic # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+2D80..2D96    ; Alphabetic # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
+2DA0..2DA6    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
+2DA8..2DAE    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
+2DB0..2DB6    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
+2DB8..2DBE    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
+2DC0..2DC6    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
+2DC8..2DCE    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
+2DD0..2DD6    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
+2DD8..2DDE    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
+2DE0..2DFF    ; Alphabetic # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+2E2F          ; Alphabetic # Lm       VERTICAL TILDE
+3005          ; Alphabetic # Lm       IDEOGRAPHIC ITERATION MARK
+3006          ; Alphabetic # Lo       IDEOGRAPHIC CLOSING MARK
+3007          ; Alphabetic # Nl       IDEOGRAPHIC NUMBER ZERO
+3021..3029    ; Alphabetic # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
+3031..3035    ; Alphabetic # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
+3038..303A    ; Alphabetic # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
+303B          ; Alphabetic # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
+303C          ; Alphabetic # Lo       MASU MARK
+3041..3096    ; Alphabetic # Lo  [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
+309D..309E    ; Alphabetic # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
+309F          ; Alphabetic # Lo       HIRAGANA DIGRAPH YORI
+30A1..30FA    ; Alphabetic # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
+30FC..30FE    ; Alphabetic # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
+30FF          ; Alphabetic # Lo       KATAKANA DIGRAPH KOTO
+3105..312D    ; Alphabetic # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3131..318E    ; Alphabetic # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
+31A0..31BA    ; Alphabetic # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
+31F0..31FF    ; Alphabetic # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
+3400..4DB5    ; Alphabetic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
+4E00..9FCC    ; Alphabetic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+A000..A014    ; Alphabetic # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
+A015          ; Alphabetic # Lm       YI SYLLABLE WU
+A016..A48C    ; Alphabetic # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
+A4D0..A4F7    ; Alphabetic # Lo  [40] LISU LETTER BA..LISU LETTER OE
+A4F8..A4FD    ; Alphabetic # Lm   [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
+A500..A60B    ; Alphabetic # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG
+A60C          ; Alphabetic # Lm       VAI SYLLABLE LENGTHENER
+A610..A61F    ; Alphabetic # Lo  [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
+A62A..A62B    ; Alphabetic # Lo   [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
+A640..A66D    ; Alphabetic # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E          ; Alphabetic # Lo       CYRILLIC LETTER MULTIOCULAR O
+A674..A67B    ; Alphabetic # Mn   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA
+A67F          ; Alphabetic # Lm       CYRILLIC PAYEROK
+A680..A697    ; Alphabetic # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; Alphabetic # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A6A0..A6E5    ; Alphabetic # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
+A6E6..A6EF    ; Alphabetic # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
+A717..A71F    ; Alphabetic # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A722..A76F    ; Alphabetic # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
+A770          ; Alphabetic # Lm       MODIFIER LETTER US
+A771..A787    ; Alphabetic # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
+A788          ; Alphabetic # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A78B..A78E    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A790..A793    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Alphabetic # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+A7F8..A7F9    ; Alphabetic # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+A7FA          ; Alphabetic # L&       LATIN LETTER SMALL CAPITAL TURNED M
+A7FB..A801    ; Alphabetic # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
+A803..A805    ; Alphabetic # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
+A807..A80A    ; Alphabetic # Lo   [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
+A80C..A822    ; Alphabetic # Lo  [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
+A823..A824    ; Alphabetic # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
+A825..A826    ; Alphabetic # Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
+A827          ; Alphabetic # Mc       SYLOTI NAGRI VOWEL SIGN OO
+A840..A873    ; Alphabetic # Lo  [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
+A880..A881    ; Alphabetic # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
+A882..A8B3    ; Alphabetic # Lo  [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
+A8B4..A8C3    ; Alphabetic # Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
+A8F2..A8F7    ; Alphabetic # Lo   [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8FB          ; Alphabetic # Lo       DEVANAGARI HEADSTROKE
+A90A..A925    ; Alphabetic # Lo  [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
+A926..A92A    ; Alphabetic # Mn   [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O
+A930..A946    ; Alphabetic # Lo  [23] REJANG LETTER KA..REJANG LETTER A
+A947..A951    ; Alphabetic # Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
+A952          ; Alphabetic # Mc       REJANG CONSONANT SIGN H
+A960..A97C    ; Alphabetic # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
+A980..A982    ; Alphabetic # Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
+A983          ; Alphabetic # Mc       JAVANESE SIGN WIGNYAN
+A984..A9B2    ; Alphabetic # Lo  [47] JAVANESE LETTER A..JAVANESE LETTER HA
+A9B4..A9B5    ; Alphabetic # Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
+A9B6..A9B9    ; Alphabetic # Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
+A9BA..A9BB    ; Alphabetic # Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
+A9BC          ; Alphabetic # Mn       JAVANESE VOWEL SIGN PEPET
+A9BD..A9BF    ; Alphabetic # Mc   [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA
+A9CF          ; Alphabetic # Lm       JAVANESE PANGRANGKEP
+AA00..AA28    ; Alphabetic # Lo  [41] CHAM LETTER A..CHAM LETTER HA
+AA29..AA2E    ; Alphabetic # Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
+AA2F..AA30    ; Alphabetic # Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
+AA31..AA32    ; Alphabetic # Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
+AA33..AA34    ; Alphabetic # Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
+AA35..AA36    ; Alphabetic # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
+AA40..AA42    ; Alphabetic # Lo   [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
+AA43          ; Alphabetic # Mn       CHAM CONSONANT SIGN FINAL NG
+AA44..AA4B    ; Alphabetic # Lo   [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
+AA4C          ; Alphabetic # Mn       CHAM CONSONANT SIGN FINAL M
+AA4D          ; Alphabetic # Mc       CHAM CONSONANT SIGN FINAL H
+AA60..AA6F    ; Alphabetic # Lo  [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
+AA70          ; Alphabetic # Lm       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AA71..AA76    ; Alphabetic # Lo   [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
+AA7A          ; Alphabetic # Lo       MYANMAR LETTER AITON RA
+AA80..AAAF    ; Alphabetic # Lo  [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
+AAB0          ; Alphabetic # Mn       TAI VIET MAI KANG
+AAB1          ; Alphabetic # Lo       TAI VIET VOWEL AA
+AAB2..AAB4    ; Alphabetic # Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
+AAB5..AAB6    ; Alphabetic # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
+AAB7..AAB8    ; Alphabetic # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
+AAB9..AABD    ; Alphabetic # Lo   [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
+AABE          ; Alphabetic # Mn       TAI VIET VOWEL AM
+AAC0          ; Alphabetic # Lo       TAI VIET TONE MAI NUENG
+AAC2          ; Alphabetic # Lo       TAI VIET TONE MAI SONG
+AADB..AADC    ; Alphabetic # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
+AADD          ; Alphabetic # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; Alphabetic # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Alphabetic # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF2          ; Alphabetic # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; Alphabetic # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AB01..AB06    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
+AB09..AB0E    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
+AB11..AB16    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
+AB20..AB26    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
+AB28..AB2E    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
+ABC0..ABE2    ; Alphabetic # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
+ABE3..ABE4    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
+ABE5          ; Alphabetic # Mn       MEETEI MAYEK VOWEL SIGN ANAP
+ABE6..ABE7    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8          ; Alphabetic # Mn       MEETEI MAYEK VOWEL SIGN UNAP
+ABE9..ABEA    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
+AC00..D7A3    ; Alphabetic # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
+D7B0..D7C6    ; Alphabetic # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
+D7CB..D7FB    ; Alphabetic # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
+F900..FA6D    ; Alphabetic # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA70..FAD9    ; Alphabetic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
+FB00..FB06    ; Alphabetic # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
+FB13..FB17    ; Alphabetic # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
+FB1D          ; Alphabetic # Lo       HEBREW LETTER YOD WITH HIRIQ
+FB1E          ; Alphabetic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
+FB1F..FB28    ; Alphabetic # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
+FB2A..FB36    ; Alphabetic # Lo  [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
+FB38..FB3C    ; Alphabetic # Lo   [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
+FB3E          ; Alphabetic # Lo       HEBREW LETTER MEM WITH DAGESH
+FB40..FB41    ; Alphabetic # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
+FB43..FB44    ; Alphabetic # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
+FB46..FBB1    ; Alphabetic # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBD3..FD3D    ; Alphabetic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+FD50..FD8F    ; Alphabetic # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FD92..FDC7    ; Alphabetic # Lo  [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FDF0..FDFB    ; Alphabetic # Lo  [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
+FE70..FE74    ; Alphabetic # Lo   [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
+FE76..FEFC    ; Alphabetic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FF21..FF3A    ; Alphabetic # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
+FF41..FF5A    ; Alphabetic # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
+FF66..FF6F    ; Alphabetic # Lo  [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
+FF70          ; Alphabetic # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71..FF9D    ; Alphabetic # Lo  [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
+FF9E..FF9F    ; Alphabetic # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFA0..FFBE    ; Alphabetic # Lo  [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
+FFC2..FFC7    ; Alphabetic # Lo   [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
+FFCA..FFCF    ; Alphabetic # Lo   [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
+FFD2..FFD7    ; Alphabetic # Lo   [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
+FFDA..FFDC    ; Alphabetic # Lo   [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
+10000..1000B  ; Alphabetic # Lo  [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
+1000D..10026  ; Alphabetic # Lo  [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
+10028..1003A  ; Alphabetic # Lo  [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
+1003C..1003D  ; Alphabetic # Lo   [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
+1003F..1004D  ; Alphabetic # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
+10050..1005D  ; Alphabetic # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
+10080..100FA  ; Alphabetic # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
+10140..10174  ; Alphabetic # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10280..1029C  ; Alphabetic # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
+102A0..102D0  ; Alphabetic # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
+10300..1031E  ; Alphabetic # Lo  [31] OLD ITALIC LETTER A..OLD ITALIC LETTER UU
+10330..10340  ; Alphabetic # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+10341         ; Alphabetic # Nl       GOTHIC LETTER NINETY
+10342..10349  ; Alphabetic # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
+1034A         ; Alphabetic # Nl       GOTHIC LETTER NINE HUNDRED
+10380..1039D  ; Alphabetic # Lo  [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
+103A0..103C3  ; Alphabetic # Lo  [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
+103C8..103CF  ; Alphabetic # Lo   [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
+103D1..103D5  ; Alphabetic # Nl   [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
+10400..1044F  ; Alphabetic # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
+10450..1049D  ; Alphabetic # Lo  [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO
+10800..10805  ; Alphabetic # Lo   [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
+10808         ; Alphabetic # Lo       CYPRIOT SYLLABLE JO
+1080A..10835  ; Alphabetic # Lo  [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
+10837..10838  ; Alphabetic # Lo   [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
+1083C         ; Alphabetic # Lo       CYPRIOT SYLLABLE ZA
+1083F..10855  ; Alphabetic # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
+10900..10915  ; Alphabetic # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
+10920..10939  ; Alphabetic # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; Alphabetic # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; Alphabetic # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+10A00         ; Alphabetic # Lo       KHAROSHTHI LETTER A
+10A01..10A03  ; Alphabetic # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05..10A06  ; Alphabetic # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
+10A0C..10A0F  ; Alphabetic # Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
+10A10..10A13  ; Alphabetic # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
+10A15..10A17  ; Alphabetic # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
+10A19..10A33  ; Alphabetic # Lo  [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
+10A60..10A7C  ; Alphabetic # Lo  [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
+10B00..10B35  ; Alphabetic # Lo  [54] AVESTAN LETTER A..AVESTAN LETTER HE
+10B40..10B55  ; Alphabetic # Lo  [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60..10B72  ; Alphabetic # Lo  [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
+10C00..10C48  ; Alphabetic # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+11000         ; Alphabetic # Mc       BRAHMI SIGN CANDRABINDU
+11001         ; Alphabetic # Mn       BRAHMI SIGN ANUSVARA
+11002         ; Alphabetic # Mc       BRAHMI SIGN VISARGA
+11003..11037  ; Alphabetic # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
+11038..11045  ; Alphabetic # Mn  [14] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN AU
+11082         ; Alphabetic # Mc       KAITHI SIGN VISARGA
+11083..110AF  ; Alphabetic # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
+110B0..110B2  ; Alphabetic # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
+110B3..110B6  ; Alphabetic # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
+110B7..110B8  ; Alphabetic # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+110D0..110E8  ; Alphabetic # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+11100..11102  ; Alphabetic # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; Alphabetic # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; Alphabetic # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Alphabetic # Mc       CHAKMA VOWEL SIGN E
+1112D..11132  ; Alphabetic # Mn   [6] CHAKMA VOWEL SIGN AI..CHAKMA AU MARK
+11180..11181  ; Alphabetic # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Alphabetic # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; Alphabetic # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; Alphabetic # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111B6..111BE  ; Alphabetic # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111BF         ; Alphabetic # Mc       SHARADA VOWEL SIGN AU
+111C1..111C4  ; Alphabetic # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; Alphabetic # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; Alphabetic # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Alphabetic # Mc       TAKRI SIGN VISARGA
+116AD         ; Alphabetic # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; Alphabetic # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; Alphabetic # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+12000..1236E  ; Alphabetic # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
+12400..12462  ; Alphabetic # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+13000..1342E  ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+16800..16A38  ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; Alphabetic # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; Alphabetic # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; Alphabetic # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F93..16F9F  ; Alphabetic # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
+1B000..1B001  ; Alphabetic # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1D400..1D454  ; Alphabetic # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
+1D456..1D49C  ; Alphabetic # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
+1D49E..1D49F  ; Alphabetic # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
+1D4A2         ; Alphabetic # L&       MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6  ; Alphabetic # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
+1D4A9..1D4AC  ; Alphabetic # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE..1D4B9  ; Alphabetic # L&  [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
+1D4BB         ; Alphabetic # L&       MATHEMATICAL SCRIPT SMALL F
+1D4BD..1D4C3  ; Alphabetic # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
+1D4C5..1D505  ; Alphabetic # L&  [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
+1D507..1D50A  ; Alphabetic # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
+1D50D..1D514  ; Alphabetic # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
+1D516..1D51C  ; Alphabetic # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
+1D51E..1D539  ; Alphabetic # L&  [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B..1D53E  ; Alphabetic # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540..1D544  ; Alphabetic # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546         ; Alphabetic # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550  ; Alphabetic # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D552..1D6A5  ; Alphabetic # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6A8..1D6C0  ; Alphabetic # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
+1D6C2..1D6DA  ; Alphabetic # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
+1D6DC..1D6FA  ; Alphabetic # L&  [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
+1D6FC..1D714  ; Alphabetic # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
+1D716..1D734  ; Alphabetic # L&  [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D736..1D74E  ; Alphabetic # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D750..1D76E  ; Alphabetic # L&  [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D770..1D788  ; Alphabetic # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D78A..1D7A8  ; Alphabetic # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7AA..1D7C2  ; Alphabetic # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C4..1D7CB  ; Alphabetic # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1EE00..1EE03  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Alphabetic # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Alphabetic # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Alphabetic # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Alphabetic # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Alphabetic # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Alphabetic # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Alphabetic # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Alphabetic # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Alphabetic # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Alphabetic # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Alphabetic # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+20000..2A6D6  ; Alphabetic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
+2A700..2B734  ; Alphabetic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
+2B740..2B81D  ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2F800..2FA1D  ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
+
+# Total code points: 102159
+
+# ================================================
+
+# Derived Property: Lowercase
+#  Generated from: Ll + Other_Lowercase
+
+0061..007A    ; Lowercase # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+00AA          ; Lowercase # Lo       FEMININE ORDINAL INDICATOR
+00B5          ; Lowercase # L&       MICRO SIGN
+00BA          ; Lowercase # Lo       MASCULINE ORDINAL INDICATOR
+00DF..00F6    ; Lowercase # L&  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
+00F8..00FF    ; Lowercase # L&   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
+0101          ; Lowercase # L&       LATIN SMALL LETTER A WITH MACRON
+0103          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE
+0105          ; Lowercase # L&       LATIN SMALL LETTER A WITH OGONEK
+0107          ; Lowercase # L&       LATIN SMALL LETTER C WITH ACUTE
+0109          ; Lowercase # L&       LATIN SMALL LETTER C WITH CIRCUMFLEX
+010B          ; Lowercase # L&       LATIN SMALL LETTER C WITH DOT ABOVE
+010D          ; Lowercase # L&       LATIN SMALL LETTER C WITH CARON
+010F          ; Lowercase # L&       LATIN SMALL LETTER D WITH CARON
+0111          ; Lowercase # L&       LATIN SMALL LETTER D WITH STROKE
+0113          ; Lowercase # L&       LATIN SMALL LETTER E WITH MACRON
+0115          ; Lowercase # L&       LATIN SMALL LETTER E WITH BREVE
+0117          ; Lowercase # L&       LATIN SMALL LETTER E WITH DOT ABOVE
+0119          ; Lowercase # L&       LATIN SMALL LETTER E WITH OGONEK
+011B          ; Lowercase # L&       LATIN SMALL LETTER E WITH CARON
+011D          ; Lowercase # L&       LATIN SMALL LETTER G WITH CIRCUMFLEX
+011F          ; Lowercase # L&       LATIN SMALL LETTER G WITH BREVE
+0121          ; Lowercase # L&       LATIN SMALL LETTER G WITH DOT ABOVE
+0123          ; Lowercase # L&       LATIN SMALL LETTER G WITH CEDILLA
+0125          ; Lowercase # L&       LATIN SMALL LETTER H WITH CIRCUMFLEX
+0127          ; Lowercase # L&       LATIN SMALL LETTER H WITH STROKE
+0129          ; Lowercase # L&       LATIN SMALL LETTER I WITH TILDE
+012B          ; Lowercase # L&       LATIN SMALL LETTER I WITH MACRON
+012D          ; Lowercase # L&       LATIN SMALL LETTER I WITH BREVE
+012F          ; Lowercase # L&       LATIN SMALL LETTER I WITH OGONEK
+0131          ; Lowercase # L&       LATIN SMALL LETTER DOTLESS I
+0133          ; Lowercase # L&       LATIN SMALL LIGATURE IJ
+0135          ; Lowercase # L&       LATIN SMALL LETTER J WITH CIRCUMFLEX
+0137..0138    ; Lowercase # L&   [2] LATIN SMALL LETTER K WITH CEDILLA..LATIN SMALL LETTER KRA
+013A          ; Lowercase # L&       LATIN SMALL LETTER L WITH ACUTE
+013C          ; Lowercase # L&       LATIN SMALL LETTER L WITH CEDILLA
+013E          ; Lowercase # L&       LATIN SMALL LETTER L WITH CARON
+0140          ; Lowercase # L&       LATIN SMALL LETTER L WITH MIDDLE DOT
+0142          ; Lowercase # L&       LATIN SMALL LETTER L WITH STROKE
+0144          ; Lowercase # L&       LATIN SMALL LETTER N WITH ACUTE
+0146          ; Lowercase # L&       LATIN SMALL LETTER N WITH CEDILLA
+0148..0149    ; Lowercase # L&   [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+014B          ; Lowercase # L&       LATIN SMALL LETTER ENG
+014D          ; Lowercase # L&       LATIN SMALL LETTER O WITH MACRON
+014F          ; Lowercase # L&       LATIN SMALL LETTER O WITH BREVE
+0151          ; Lowercase # L&       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0153          ; Lowercase # L&       LATIN SMALL LIGATURE OE
+0155          ; Lowercase # L&       LATIN SMALL LETTER R WITH ACUTE
+0157          ; Lowercase # L&       LATIN SMALL LETTER R WITH CEDILLA
+0159          ; Lowercase # L&       LATIN SMALL LETTER R WITH CARON
+015B          ; Lowercase # L&       LATIN SMALL LETTER S WITH ACUTE
+015D          ; Lowercase # L&       LATIN SMALL LETTER S WITH CIRCUMFLEX
+015F          ; Lowercase # L&       LATIN SMALL LETTER S WITH CEDILLA
+0161          ; Lowercase # L&       LATIN SMALL LETTER S WITH CARON
+0163          ; Lowercase # L&       LATIN SMALL LETTER T WITH CEDILLA
+0165          ; Lowercase # L&       LATIN SMALL LETTER T WITH CARON
+0167          ; Lowercase # L&       LATIN SMALL LETTER T WITH STROKE
+0169          ; Lowercase # L&       LATIN SMALL LETTER U WITH TILDE
+016B          ; Lowercase # L&       LATIN SMALL LETTER U WITH MACRON
+016D          ; Lowercase # L&       LATIN SMALL LETTER U WITH BREVE
+016F          ; Lowercase # L&       LATIN SMALL LETTER U WITH RING ABOVE
+0171          ; Lowercase # L&       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0173          ; Lowercase # L&       LATIN SMALL LETTER U WITH OGONEK
+0175          ; Lowercase # L&       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0177          ; Lowercase # L&       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+017A          ; Lowercase # L&       LATIN SMALL LETTER Z WITH ACUTE
+017C          ; Lowercase # L&       LATIN SMALL LETTER Z WITH DOT ABOVE
+017E..0180    ; Lowercase # L&   [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
+0183          ; Lowercase # L&       LATIN SMALL LETTER B WITH TOPBAR
+0185          ; Lowercase # L&       LATIN SMALL LETTER TONE SIX
+0188          ; Lowercase # L&       LATIN SMALL LETTER C WITH HOOK
+018C..018D    ; Lowercase # L&   [2] LATIN SMALL LETTER D WITH TOPBAR..LATIN SMALL LETTER TURNED DELTA
+0192          ; Lowercase # L&       LATIN SMALL LETTER F WITH HOOK
+0195          ; Lowercase # L&       LATIN SMALL LETTER HV
+0199..019B    ; Lowercase # L&   [3] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER LAMBDA WITH STROKE
+019E          ; Lowercase # L&       LATIN SMALL LETTER N WITH LONG RIGHT LEG
+01A1          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN
+01A3          ; Lowercase # L&       LATIN SMALL LETTER OI
+01A5          ; Lowercase # L&       LATIN SMALL LETTER P WITH HOOK
+01A8          ; Lowercase # L&       LATIN SMALL LETTER TONE TWO
+01AA..01AB    ; Lowercase # L&   [2] LATIN LETTER REVERSED ESH LOOP..LATIN SMALL LETTER T WITH PALATAL HOOK
+01AD          ; Lowercase # L&       LATIN SMALL LETTER T WITH HOOK
+01B0          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN
+01B4          ; Lowercase # L&       LATIN SMALL LETTER Y WITH HOOK
+01B6          ; Lowercase # L&       LATIN SMALL LETTER Z WITH STROKE
+01B9..01BA    ; Lowercase # L&   [2] LATIN SMALL LETTER EZH REVERSED..LATIN SMALL LETTER EZH WITH TAIL
+01BD..01BF    ; Lowercase # L&   [3] LATIN SMALL LETTER TONE FIVE..LATIN LETTER WYNN
+01C6          ; Lowercase # L&       LATIN SMALL LETTER DZ WITH CARON
+01C9          ; Lowercase # L&       LATIN SMALL LETTER LJ
+01CC          ; Lowercase # L&       LATIN SMALL LETTER NJ
+01CE          ; Lowercase # L&       LATIN SMALL LETTER A WITH CARON
+01D0          ; Lowercase # L&       LATIN SMALL LETTER I WITH CARON
+01D2          ; Lowercase # L&       LATIN SMALL LETTER O WITH CARON
+01D4          ; Lowercase # L&       LATIN SMALL LETTER U WITH CARON
+01D6          ; Lowercase # L&       LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D8          ; Lowercase # L&       LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01DA          ; Lowercase # L&       LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01DC..01DD    ; Lowercase # L&   [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
+01DF          ; Lowercase # L&       LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01E1          ; Lowercase # L&       LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E3          ; Lowercase # L&       LATIN SMALL LETTER AE WITH MACRON
+01E5          ; Lowercase # L&       LATIN SMALL LETTER G WITH STROKE
+01E7          ; Lowercase # L&       LATIN SMALL LETTER G WITH CARON
+01E9          ; Lowercase # L&       LATIN SMALL LETTER K WITH CARON
+01EB          ; Lowercase # L&       LATIN SMALL LETTER O WITH OGONEK
+01ED          ; Lowercase # L&       LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EF..01F0    ; Lowercase # L&   [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
+01F3          ; Lowercase # L&       LATIN SMALL LETTER DZ
+01F5          ; Lowercase # L&       LATIN SMALL LETTER G WITH ACUTE
+01F9          ; Lowercase # L&       LATIN SMALL LETTER N WITH GRAVE
+01FB          ; Lowercase # L&       LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FD          ; Lowercase # L&       LATIN SMALL LETTER AE WITH ACUTE
+01FF          ; Lowercase # L&       LATIN SMALL LETTER O WITH STROKE AND ACUTE
+0201          ; Lowercase # L&       LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0203          ; Lowercase # L&       LATIN SMALL LETTER A WITH INVERTED BREVE
+0205          ; Lowercase # L&       LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0207          ; Lowercase # L&       LATIN SMALL LETTER E WITH INVERTED BREVE
+0209          ; Lowercase # L&       LATIN SMALL LETTER I WITH DOUBLE GRAVE
+020B          ; Lowercase # L&       LATIN SMALL LETTER I WITH INVERTED BREVE
+020D          ; Lowercase # L&       LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020F          ; Lowercase # L&       LATIN SMALL LETTER O WITH INVERTED BREVE
+0211          ; Lowercase # L&       LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0213          ; Lowercase # L&       LATIN SMALL LETTER R WITH INVERTED BREVE
+0215          ; Lowercase # L&       LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0217          ; Lowercase # L&       LATIN SMALL LETTER U WITH INVERTED BREVE
+0219          ; Lowercase # L&       LATIN SMALL LETTER S WITH COMMA BELOW
+021B          ; Lowercase # L&       LATIN SMALL LETTER T WITH COMMA BELOW
+021D          ; Lowercase # L&       LATIN SMALL LETTER YOGH
+021F          ; Lowercase # L&       LATIN SMALL LETTER H WITH CARON
+0221          ; Lowercase # L&       LATIN SMALL LETTER D WITH CURL
+0223          ; Lowercase # L&       LATIN SMALL LETTER OU
+0225          ; Lowercase # L&       LATIN SMALL LETTER Z WITH HOOK
+0227          ; Lowercase # L&       LATIN SMALL LETTER A WITH DOT ABOVE
+0229          ; Lowercase # L&       LATIN SMALL LETTER E WITH CEDILLA
+022B          ; Lowercase # L&       LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022D          ; Lowercase # L&       LATIN SMALL LETTER O WITH TILDE AND MACRON
+022F          ; Lowercase # L&       LATIN SMALL LETTER O WITH DOT ABOVE
+0231          ; Lowercase # L&       LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0233..0239    ; Lowercase # L&   [7] LATIN SMALL LETTER Y WITH MACRON..LATIN SMALL LETTER QP DIGRAPH
+023C          ; Lowercase # L&       LATIN SMALL LETTER C WITH STROKE
+023F..0240    ; Lowercase # L&   [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
+0242          ; Lowercase # L&       LATIN SMALL LETTER GLOTTAL STOP
+0247          ; Lowercase # L&       LATIN SMALL LETTER E WITH STROKE
+0249          ; Lowercase # L&       LATIN SMALL LETTER J WITH STROKE
+024B          ; Lowercase # L&       LATIN SMALL LETTER Q WITH HOOK TAIL
+024D          ; Lowercase # L&       LATIN SMALL LETTER R WITH STROKE
+024F..0293    ; Lowercase # L&  [69] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER EZH WITH CURL
+0295..02AF    ; Lowercase # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+02B0..02B8    ; Lowercase # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
+02C0..02C1    ; Lowercase # Lm   [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
+02E0..02E4    ; Lowercase # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+0345          ; Lowercase # Mn       COMBINING GREEK YPOGEGRAMMENI
+0371          ; Lowercase # L&       GREEK SMALL LETTER HETA
+0373          ; Lowercase # L&       GREEK SMALL LETTER ARCHAIC SAMPI
+0377          ; Lowercase # L&       GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037A          ; Lowercase # Lm       GREEK YPOGEGRAMMENI
+037B..037D    ; Lowercase # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0390          ; Lowercase # L&       GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+03AC..03CE    ; Lowercase # L&  [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
+03D0..03D1    ; Lowercase # L&   [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
+03D5..03D7    ; Lowercase # L&   [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
+03D9          ; Lowercase # L&       GREEK SMALL LETTER ARCHAIC KOPPA
+03DB          ; Lowercase # L&       GREEK SMALL LETTER STIGMA
+03DD          ; Lowercase # L&       GREEK SMALL LETTER DIGAMMA
+03DF          ; Lowercase # L&       GREEK SMALL LETTER KOPPA
+03E1          ; Lowercase # L&       GREEK SMALL LETTER SAMPI
+03E3          ; Lowercase # L&       COPTIC SMALL LETTER SHEI
+03E5          ; Lowercase # L&       COPTIC SMALL LETTER FEI
+03E7          ; Lowercase # L&       COPTIC SMALL LETTER KHEI
+03E9          ; Lowercase # L&       COPTIC SMALL LETTER HORI
+03EB          ; Lowercase # L&       COPTIC SMALL LETTER GANGIA
+03ED          ; Lowercase # L&       COPTIC SMALL LETTER SHIMA
+03EF..03F3    ; Lowercase # L&   [5] COPTIC SMALL LETTER DEI..GREEK LETTER YOT
+03F5          ; Lowercase # L&       GREEK LUNATE EPSILON SYMBOL
+03F8          ; Lowercase # L&       GREEK SMALL LETTER SHO
+03FB..03FC    ; Lowercase # L&   [2] GREEK SMALL LETTER SAN..GREEK RHO WITH STROKE SYMBOL
+0430..045F    ; Lowercase # L&  [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
+0461          ; Lowercase # L&       CYRILLIC SMALL LETTER OMEGA
+0463          ; Lowercase # L&       CYRILLIC SMALL LETTER YAT
+0465          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED E
+0467          ; Lowercase # L&       CYRILLIC SMALL LETTER LITTLE YUS
+0469          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+046B          ; Lowercase # L&       CYRILLIC SMALL LETTER BIG YUS
+046D          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+046F          ; Lowercase # L&       CYRILLIC SMALL LETTER KSI
+0471          ; Lowercase # L&       CYRILLIC SMALL LETTER PSI
+0473          ; Lowercase # L&       CYRILLIC SMALL LETTER FITA
+0475          ; Lowercase # L&       CYRILLIC SMALL LETTER IZHITSA
+0477          ; Lowercase # L&       CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0479          ; Lowercase # L&       CYRILLIC SMALL LETTER UK
+047B          ; Lowercase # L&       CYRILLIC SMALL LETTER ROUND OMEGA
+047D          ; Lowercase # L&       CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047F          ; Lowercase # L&       CYRILLIC SMALL LETTER OT
+0481          ; Lowercase # L&       CYRILLIC SMALL LETTER KOPPA
+048B          ; Lowercase # L&       CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048D          ; Lowercase # L&       CYRILLIC SMALL LETTER SEMISOFT SIGN
+048F          ; Lowercase # L&       CYRILLIC SMALL LETTER ER WITH TICK
+0491          ; Lowercase # L&       CYRILLIC SMALL LETTER GHE WITH UPTURN
+0493          ; Lowercase # L&       CYRILLIC SMALL LETTER GHE WITH STROKE
+0495          ; Lowercase # L&       CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0497          ; Lowercase # L&       CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0499          ; Lowercase # L&       CYRILLIC SMALL LETTER ZE WITH DESCENDER
+049B          ; Lowercase # L&       CYRILLIC SMALL LETTER KA WITH DESCENDER
+049D          ; Lowercase # L&       CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049F          ; Lowercase # L&       CYRILLIC SMALL LETTER KA WITH STROKE
+04A1          ; Lowercase # L&       CYRILLIC SMALL LETTER BASHKIR KA
+04A3          ; Lowercase # L&       CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A5          ; Lowercase # L&       CYRILLIC SMALL LIGATURE EN GHE
+04A7          ; Lowercase # L&       CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A9          ; Lowercase # L&       CYRILLIC SMALL LETTER ABKHASIAN HA
+04AB          ; Lowercase # L&       CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AD          ; Lowercase # L&       CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AF          ; Lowercase # L&       CYRILLIC SMALL LETTER STRAIGHT U
+04B1          ; Lowercase # L&       CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B3          ; Lowercase # L&       CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B5          ; Lowercase # L&       CYRILLIC SMALL LIGATURE TE TSE
+04B7          ; Lowercase # L&       CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B9          ; Lowercase # L&       CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04BB          ; Lowercase # L&       CYRILLIC SMALL LETTER SHHA
+04BD          ; Lowercase # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BF          ; Lowercase # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04C2          ; Lowercase # L&       CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C4          ; Lowercase # L&       CYRILLIC SMALL LETTER KA WITH HOOK
+04C6          ; Lowercase # L&       CYRILLIC SMALL LETTER EL WITH TAIL
+04C8          ; Lowercase # L&       CYRILLIC SMALL LETTER EN WITH HOOK
+04CA          ; Lowercase # L&       CYRILLIC SMALL LETTER EN WITH TAIL
+04CC          ; Lowercase # L&       CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CE..04CF    ; Lowercase # L&   [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
+04D1          ; Lowercase # L&       CYRILLIC SMALL LETTER A WITH BREVE
+04D3          ; Lowercase # L&       CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D5          ; Lowercase # L&       CYRILLIC SMALL LIGATURE A IE
+04D7          ; Lowercase # L&       CYRILLIC SMALL LETTER IE WITH BREVE
+04D9          ; Lowercase # L&       CYRILLIC SMALL LETTER SCHWA
+04DB          ; Lowercase # L&       CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DD          ; Lowercase # L&       CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DF          ; Lowercase # L&       CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04E1          ; Lowercase # L&       CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E3          ; Lowercase # L&       CYRILLIC SMALL LETTER I WITH MACRON
+04E5          ; Lowercase # L&       CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E7          ; Lowercase # L&       CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E9          ; Lowercase # L&       CYRILLIC SMALL LETTER BARRED O
+04EB          ; Lowercase # L&       CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04ED          ; Lowercase # L&       CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EF          ; Lowercase # L&       CYRILLIC SMALL LETTER U WITH MACRON
+04F1          ; Lowercase # L&       CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F3          ; Lowercase # L&       CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F5          ; Lowercase # L&       CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F7          ; Lowercase # L&       CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F9          ; Lowercase # L&       CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04FB          ; Lowercase # L&       CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FD          ; Lowercase # L&       CYRILLIC SMALL LETTER HA WITH HOOK
+04FF          ; Lowercase # L&       CYRILLIC SMALL LETTER HA WITH STROKE
+0501          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI DE
+0503          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI DJE
+0505          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI ZJE
+0507          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI DZJE
+0509          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI LJE
+050B          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI NJE
+050D          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI SJE
+050F          ; Lowercase # L&       CYRILLIC SMALL LETTER KOMI TJE
+0511          ; Lowercase # L&       CYRILLIC SMALL LETTER REVERSED ZE
+0513          ; Lowercase # L&       CYRILLIC SMALL LETTER EL WITH HOOK
+0515          ; Lowercase # L&       CYRILLIC SMALL LETTER LHA
+0517          ; Lowercase # L&       CYRILLIC SMALL LETTER RHA
+0519          ; Lowercase # L&       CYRILLIC SMALL LETTER YAE
+051B          ; Lowercase # L&       CYRILLIC SMALL LETTER QA
+051D          ; Lowercase # L&       CYRILLIC SMALL LETTER WE
+051F          ; Lowercase # L&       CYRILLIC SMALL LETTER ALEUT KA
+0521          ; Lowercase # L&       CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0523          ; Lowercase # L&       CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0525          ; Lowercase # L&       CYRILLIC SMALL LETTER PE WITH DESCENDER
+0527          ; Lowercase # L&       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0561..0587    ; Lowercase # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+1D00..1D2B    ; Lowercase # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
+1D2C..1D6A    ; Lowercase # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; Lowercase # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
+1D78          ; Lowercase # Lm       MODIFIER LETTER CYRILLIC EN
+1D79..1D9A    ; Lowercase # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+1D9B..1DBF    ; Lowercase # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
+1E01          ; Lowercase # L&       LATIN SMALL LETTER A WITH RING BELOW
+1E03          ; Lowercase # L&       LATIN SMALL LETTER B WITH DOT ABOVE
+1E05          ; Lowercase # L&       LATIN SMALL LETTER B WITH DOT BELOW
+1E07          ; Lowercase # L&       LATIN SMALL LETTER B WITH LINE BELOW
+1E09          ; Lowercase # L&       LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E0B          ; Lowercase # L&       LATIN SMALL LETTER D WITH DOT ABOVE
+1E0D          ; Lowercase # L&       LATIN SMALL LETTER D WITH DOT BELOW
+1E0F          ; Lowercase # L&       LATIN SMALL LETTER D WITH LINE BELOW
+1E11          ; Lowercase # L&       LATIN SMALL LETTER D WITH CEDILLA
+1E13          ; Lowercase # L&       LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E15          ; Lowercase # L&       LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E17          ; Lowercase # L&       LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E19          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E1B          ; Lowercase # L&       LATIN SMALL LETTER E WITH TILDE BELOW
+1E1D          ; Lowercase # L&       LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1F          ; Lowercase # L&       LATIN SMALL LETTER F WITH DOT ABOVE
+1E21          ; Lowercase # L&       LATIN SMALL LETTER G WITH MACRON
+1E23          ; Lowercase # L&       LATIN SMALL LETTER H WITH DOT ABOVE
+1E25          ; Lowercase # L&       LATIN SMALL LETTER H WITH DOT BELOW
+1E27          ; Lowercase # L&       LATIN SMALL LETTER H WITH DIAERESIS
+1E29          ; Lowercase # L&       LATIN SMALL LETTER H WITH CEDILLA
+1E2B          ; Lowercase # L&       LATIN SMALL LETTER H WITH BREVE BELOW
+1E2D          ; Lowercase # L&       LATIN SMALL LETTER I WITH TILDE BELOW
+1E2F          ; Lowercase # L&       LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E31          ; Lowercase # L&       LATIN SMALL LETTER K WITH ACUTE
+1E33          ; Lowercase # L&       LATIN SMALL LETTER K WITH DOT BELOW
+1E35          ; Lowercase # L&       LATIN SMALL LETTER K WITH LINE BELOW
+1E37          ; Lowercase # L&       LATIN SMALL LETTER L WITH DOT BELOW
+1E39          ; Lowercase # L&       LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E3B          ; Lowercase # L&       LATIN SMALL LETTER L WITH LINE BELOW
+1E3D          ; Lowercase # L&       LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3F          ; Lowercase # L&       LATIN SMALL LETTER M WITH ACUTE
+1E41          ; Lowercase # L&       LATIN SMALL LETTER M WITH DOT ABOVE
+1E43          ; Lowercase # L&       LATIN SMALL LETTER M WITH DOT BELOW
+1E45          ; Lowercase # L&       LATIN SMALL LETTER N WITH DOT ABOVE
+1E47          ; Lowercase # L&       LATIN SMALL LETTER N WITH DOT BELOW
+1E49          ; Lowercase # L&       LATIN SMALL LETTER N WITH LINE BELOW
+1E4B          ; Lowercase # L&       LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4D          ; Lowercase # L&       LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4F          ; Lowercase # L&       LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E51          ; Lowercase # L&       LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E53          ; Lowercase # L&       LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E55          ; Lowercase # L&       LATIN SMALL LETTER P WITH ACUTE
+1E57          ; Lowercase # L&       LATIN SMALL LETTER P WITH DOT ABOVE
+1E59          ; Lowercase # L&       LATIN SMALL LETTER R WITH DOT ABOVE
+1E5B          ; Lowercase # L&       LATIN SMALL LETTER R WITH DOT BELOW
+1E5D          ; Lowercase # L&       LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5F          ; Lowercase # L&       LATIN SMALL LETTER R WITH LINE BELOW
+1E61          ; Lowercase # L&       LATIN SMALL LETTER S WITH DOT ABOVE
+1E63          ; Lowercase # L&       LATIN SMALL LETTER S WITH DOT BELOW
+1E65          ; Lowercase # L&       LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E67          ; Lowercase # L&       LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E69          ; Lowercase # L&       LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E6B          ; Lowercase # L&       LATIN SMALL LETTER T WITH DOT ABOVE
+1E6D          ; Lowercase # L&       LATIN SMALL LETTER T WITH DOT BELOW
+1E6F          ; Lowercase # L&       LATIN SMALL LETTER T WITH LINE BELOW
+1E71          ; Lowercase # L&       LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E73          ; Lowercase # L&       LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E75          ; Lowercase # L&       LATIN SMALL LETTER U WITH TILDE BELOW
+1E77          ; Lowercase # L&       LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E79          ; Lowercase # L&       LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E7B          ; Lowercase # L&       LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7D          ; Lowercase # L&       LATIN SMALL LETTER V WITH TILDE
+1E7F          ; Lowercase # L&       LATIN SMALL LETTER V WITH DOT BELOW
+1E81          ; Lowercase # L&       LATIN SMALL LETTER W WITH GRAVE
+1E83          ; Lowercase # L&       LATIN SMALL LETTER W WITH ACUTE
+1E85          ; Lowercase # L&       LATIN SMALL LETTER W WITH DIAERESIS
+1E87          ; Lowercase # L&       LATIN SMALL LETTER W WITH DOT ABOVE
+1E89          ; Lowercase # L&       LATIN SMALL LETTER W WITH DOT BELOW
+1E8B          ; Lowercase # L&       LATIN SMALL LETTER X WITH DOT ABOVE
+1E8D          ; Lowercase # L&       LATIN SMALL LETTER X WITH DIAERESIS
+1E8F          ; Lowercase # L&       LATIN SMALL LETTER Y WITH DOT ABOVE
+1E91          ; Lowercase # L&       LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E93          ; Lowercase # L&       LATIN SMALL LETTER Z WITH DOT BELOW
+1E95..1E9D    ; Lowercase # L&   [9] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH HIGH STROKE
+1E9F          ; Lowercase # L&       LATIN SMALL LETTER DELTA
+1EA1          ; Lowercase # L&       LATIN SMALL LETTER A WITH DOT BELOW
+1EA3          ; Lowercase # L&       LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA5          ; Lowercase # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7          ; Lowercase # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA9          ; Lowercase # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAB          ; Lowercase # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAD          ; Lowercase # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAF          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EB1          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB3          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB5          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB7          ; Lowercase # L&       LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB9          ; Lowercase # L&       LATIN SMALL LETTER E WITH DOT BELOW
+1EBB          ; Lowercase # L&       LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBD          ; Lowercase # L&       LATIN SMALL LETTER E WITH TILDE
+1EBF          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC3          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC5          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC7          ; Lowercase # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC9          ; Lowercase # L&       LATIN SMALL LETTER I WITH HOOK ABOVE
+1ECB          ; Lowercase # L&       LATIN SMALL LETTER I WITH DOT BELOW
+1ECD          ; Lowercase # L&       LATIN SMALL LETTER O WITH DOT BELOW
+1ECF          ; Lowercase # L&       LATIN SMALL LETTER O WITH HOOK ABOVE
+1ED1          ; Lowercase # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3          ; Lowercase # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED5          ; Lowercase # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED7          ; Lowercase # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED9          ; Lowercase # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EDB          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDD          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDF          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EE1          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE3          ; Lowercase # L&       LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE5          ; Lowercase # L&       LATIN SMALL LETTER U WITH DOT BELOW
+1EE7          ; Lowercase # L&       LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE9          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EEB          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EED          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEF          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN AND TILDE
+1EF1          ; Lowercase # L&       LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF3          ; Lowercase # L&       LATIN SMALL LETTER Y WITH GRAVE
+1EF5          ; Lowercase # L&       LATIN SMALL LETTER Y WITH DOT BELOW
+1EF7          ; Lowercase # L&       LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF9          ; Lowercase # L&       LATIN SMALL LETTER Y WITH TILDE
+1EFB          ; Lowercase # L&       LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFD          ; Lowercase # L&       LATIN SMALL LETTER MIDDLE-WELSH V
+1EFF..1F07    ; Lowercase # L&   [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F10..1F15    ; Lowercase # L&   [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F20..1F27    ; Lowercase # L&   [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F30..1F37    ; Lowercase # L&   [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F40..1F45    ; Lowercase # L&   [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F50..1F57    ; Lowercase # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F60..1F67    ; Lowercase # L&   [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F70..1F7D    ; Lowercase # L&  [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
+1F80..1F87    ; Lowercase # L&   [8] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F90..1F97    ; Lowercase # L&   [8] GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FA0..1FA7    ; Lowercase # L&   [8] GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FB0..1FB4    ; Lowercase # L&   [5] GREEK SMALL LETTER ALPHA WITH VRACHY..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FB6..1FB7    ; Lowercase # L&   [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FBE          ; Lowercase # L&       GREEK PROSGEGRAMMENI
+1FC2..1FC4    ; Lowercase # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FC6..1FC7    ; Lowercase # L&   [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FD0..1FD3    ; Lowercase # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6..1FD7    ; Lowercase # L&   [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FE0..1FE7    ; Lowercase # L&   [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FF2..1FF4    ; Lowercase # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1FF6..1FF7    ; Lowercase # L&   [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+2071          ; Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Lowercase # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
+210A          ; Lowercase # L&       SCRIPT SMALL G
+210E..210F    ; Lowercase # L&   [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
+2113          ; Lowercase # L&       SCRIPT SMALL L
+212F          ; Lowercase # L&       SCRIPT SMALL E
+2134          ; Lowercase # L&       SCRIPT SMALL O
+2139          ; Lowercase # L&       INFORMATION SOURCE
+213C..213D    ; Lowercase # L&   [2] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK SMALL GAMMA
+2146..2149    ; Lowercase # L&   [4] DOUBLE-STRUCK ITALIC SMALL D..DOUBLE-STRUCK ITALIC SMALL J
+214E          ; Lowercase # L&       TURNED SMALL F
+2170..217F    ; Lowercase # Nl  [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
+2184          ; Lowercase # L&       LATIN SMALL LETTER REVERSED C
+24D0..24E9    ; Lowercase # So  [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
+2C30..2C5E    ; Lowercase # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C61          ; Lowercase # L&       LATIN SMALL LETTER L WITH DOUBLE BAR
+2C65..2C66    ; Lowercase # L&   [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
+2C68          ; Lowercase # L&       LATIN SMALL LETTER H WITH DESCENDER
+2C6A          ; Lowercase # L&       LATIN SMALL LETTER K WITH DESCENDER
+2C6C          ; Lowercase # L&       LATIN SMALL LETTER Z WITH DESCENDER
+2C71          ; Lowercase # L&       LATIN SMALL LETTER V WITH RIGHT HOOK
+2C73..2C74    ; Lowercase # L&   [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
+2C76..2C7B    ; Lowercase # L&   [6] LATIN SMALL LETTER HALF H..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Lowercase # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
+2C81          ; Lowercase # L&       COPTIC SMALL LETTER ALFA
+2C83          ; Lowercase # L&       COPTIC SMALL LETTER VIDA
+2C85          ; Lowercase # L&       COPTIC SMALL LETTER GAMMA
+2C87          ; Lowercase # L&       COPTIC SMALL LETTER DALDA
+2C89          ; Lowercase # L&       COPTIC SMALL LETTER EIE
+2C8B          ; Lowercase # L&       COPTIC SMALL LETTER SOU
+2C8D          ; Lowercase # L&       COPTIC SMALL LETTER ZATA
+2C8F          ; Lowercase # L&       COPTIC SMALL LETTER HATE
+2C91          ; Lowercase # L&       COPTIC SMALL LETTER THETHE
+2C93          ; Lowercase # L&       COPTIC SMALL LETTER IAUDA
+2C95          ; Lowercase # L&       COPTIC SMALL LETTER KAPA
+2C97          ; Lowercase # L&       COPTIC SMALL LETTER LAULA
+2C99          ; Lowercase # L&       COPTIC SMALL LETTER MI
+2C9B          ; Lowercase # L&       COPTIC SMALL LETTER NI
+2C9D          ; Lowercase # L&       COPTIC SMALL LETTER KSI
+2C9F          ; Lowercase # L&       COPTIC SMALL LETTER O
+2CA1          ; Lowercase # L&       COPTIC SMALL LETTER PI
+2CA3          ; Lowercase # L&       COPTIC SMALL LETTER RO
+2CA5          ; Lowercase # L&       COPTIC SMALL LETTER SIMA
+2CA7          ; Lowercase # L&       COPTIC SMALL LETTER TAU
+2CA9          ; Lowercase # L&       COPTIC SMALL LETTER UA
+2CAB          ; Lowercase # L&       COPTIC SMALL LETTER FI
+2CAD          ; Lowercase # L&       COPTIC SMALL LETTER KHI
+2CAF          ; Lowercase # L&       COPTIC SMALL LETTER PSI
+2CB1          ; Lowercase # L&       COPTIC SMALL LETTER OOU
+2CB3          ; Lowercase # L&       COPTIC SMALL LETTER DIALECT-P ALEF
+2CB5          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC AIN
+2CB7          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB9          ; Lowercase # L&       COPTIC SMALL LETTER DIALECT-P KAPA
+2CBB          ; Lowercase # L&       COPTIC SMALL LETTER DIALECT-P NI
+2CBD          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBF          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC OOU
+2CC1          ; Lowercase # L&       COPTIC SMALL LETTER SAMPI
+2CC3          ; Lowercase # L&       COPTIC SMALL LETTER CROSSED SHEI
+2CC5          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC7          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC ESH
+2CC9          ; Lowercase # L&       COPTIC SMALL LETTER AKHMIMIC KHEI
+2CCB          ; Lowercase # L&       COPTIC SMALL LETTER DIALECT-P HORI
+2CCD          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC HORI
+2CCF          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC HA
+2CD1          ; Lowercase # L&       COPTIC SMALL LETTER L-SHAPED HA
+2CD3          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC HEI
+2CD5          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC HAT
+2CD7          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD9          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC DJA
+2CDB          ; Lowercase # L&       COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDD          ; Lowercase # L&       COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDF          ; Lowercase # L&       COPTIC SMALL LETTER OLD NUBIAN NGI
+2CE1          ; Lowercase # L&       COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE3..2CE4    ; Lowercase # L&   [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
+2CEC          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEE          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Lowercase # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
+2D00..2D25    ; Lowercase # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Lowercase # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Lowercase # L&       GEORGIAN SMALL LETTER AEN
+A641          ; Lowercase # L&       CYRILLIC SMALL LETTER ZEMLYA
+A643          ; Lowercase # L&       CYRILLIC SMALL LETTER DZELO
+A645          ; Lowercase # L&       CYRILLIC SMALL LETTER REVERSED DZE
+A647          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTA
+A649          ; Lowercase # L&       CYRILLIC SMALL LETTER DJERV
+A64B          ; Lowercase # L&       CYRILLIC SMALL LETTER MONOGRAPH UK
+A64D          ; Lowercase # L&       CYRILLIC SMALL LETTER BROAD OMEGA
+A64F          ; Lowercase # L&       CYRILLIC SMALL LETTER NEUTRAL YER
+A651          ; Lowercase # L&       CYRILLIC SMALL LETTER YERU WITH BACK YER
+A653          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED YAT
+A655          ; Lowercase # L&       CYRILLIC SMALL LETTER REVERSED YU
+A657          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED A
+A659          ; Lowercase # L&       CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A65B          ; Lowercase # L&       CYRILLIC SMALL LETTER BLENDED YUS
+A65D          ; Lowercase # L&       CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65F          ; Lowercase # L&       CYRILLIC SMALL LETTER YN
+A661          ; Lowercase # L&       CYRILLIC SMALL LETTER REVERSED TSE
+A663          ; Lowercase # L&       CYRILLIC SMALL LETTER SOFT DE
+A665          ; Lowercase # L&       CYRILLIC SMALL LETTER SOFT EL
+A667          ; Lowercase # L&       CYRILLIC SMALL LETTER SOFT EM
+A669          ; Lowercase # L&       CYRILLIC SMALL LETTER MONOCULAR O
+A66B          ; Lowercase # L&       CYRILLIC SMALL LETTER BINOCULAR O
+A66D          ; Lowercase # L&       CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A681          ; Lowercase # L&       CYRILLIC SMALL LETTER DWE
+A683          ; Lowercase # L&       CYRILLIC SMALL LETTER DZWE
+A685          ; Lowercase # L&       CYRILLIC SMALL LETTER ZHWE
+A687          ; Lowercase # L&       CYRILLIC SMALL LETTER CCHE
+A689          ; Lowercase # L&       CYRILLIC SMALL LETTER DZZE
+A68B          ; Lowercase # L&       CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68D          ; Lowercase # L&       CYRILLIC SMALL LETTER TWE
+A68F          ; Lowercase # L&       CYRILLIC SMALL LETTER TSWE
+A691          ; Lowercase # L&       CYRILLIC SMALL LETTER TSSE
+A693          ; Lowercase # L&       CYRILLIC SMALL LETTER TCHE
+A695          ; Lowercase # L&       CYRILLIC SMALL LETTER HWE
+A697          ; Lowercase # L&       CYRILLIC SMALL LETTER SHWE
+A723          ; Lowercase # L&       LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A725          ; Lowercase # L&       LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A727          ; Lowercase # L&       LATIN SMALL LETTER HENG
+A729          ; Lowercase # L&       LATIN SMALL LETTER TZ
+A72B          ; Lowercase # L&       LATIN SMALL LETTER TRESILLO
+A72D          ; Lowercase # L&       LATIN SMALL LETTER CUATRILLO
+A72F..A731    ; Lowercase # L&   [3] LATIN SMALL LETTER CUATRILLO WITH COMMA..LATIN LETTER SMALL CAPITAL S
+A733          ; Lowercase # L&       LATIN SMALL LETTER AA
+A735          ; Lowercase # L&       LATIN SMALL LETTER AO
+A737          ; Lowercase # L&       LATIN SMALL LETTER AU
+A739          ; Lowercase # L&       LATIN SMALL LETTER AV
+A73B          ; Lowercase # L&       LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73D          ; Lowercase # L&       LATIN SMALL LETTER AY
+A73F          ; Lowercase # L&       LATIN SMALL LETTER REVERSED C WITH DOT
+A741          ; Lowercase # L&       LATIN SMALL LETTER K WITH STROKE
+A743          ; Lowercase # L&       LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A745          ; Lowercase # L&       LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A747          ; Lowercase # L&       LATIN SMALL LETTER BROKEN L
+A749          ; Lowercase # L&       LATIN SMALL LETTER L WITH HIGH STROKE
+A74B          ; Lowercase # L&       LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74D          ; Lowercase # L&       LATIN SMALL LETTER O WITH LOOP
+A74F          ; Lowercase # L&       LATIN SMALL LETTER OO
+A751          ; Lowercase # L&       LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A753          ; Lowercase # L&       LATIN SMALL LETTER P WITH FLOURISH
+A755          ; Lowercase # L&       LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A757          ; Lowercase # L&       LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A759          ; Lowercase # L&       LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A75B          ; Lowercase # L&       LATIN SMALL LETTER R ROTUNDA
+A75D          ; Lowercase # L&       LATIN SMALL LETTER RUM ROTUNDA
+A75F          ; Lowercase # L&       LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A761          ; Lowercase # L&       LATIN SMALL LETTER VY
+A763          ; Lowercase # L&       LATIN SMALL LETTER VISIGOTHIC Z
+A765          ; Lowercase # L&       LATIN SMALL LETTER THORN WITH STROKE
+A767          ; Lowercase # L&       LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A769          ; Lowercase # L&       LATIN SMALL LETTER VEND
+A76B          ; Lowercase # L&       LATIN SMALL LETTER ET
+A76D          ; Lowercase # L&       LATIN SMALL LETTER IS
+A76F          ; Lowercase # L&       LATIN SMALL LETTER CON
+A770          ; Lowercase # Lm       MODIFIER LETTER US
+A771..A778    ; Lowercase # L&   [8] LATIN SMALL LETTER DUM..LATIN SMALL LETTER UM
+A77A          ; Lowercase # L&       LATIN SMALL LETTER INSULAR D
+A77C          ; Lowercase # L&       LATIN SMALL LETTER INSULAR F
+A77F          ; Lowercase # L&       LATIN SMALL LETTER TURNED INSULAR G
+A781          ; Lowercase # L&       LATIN SMALL LETTER TURNED L
+A783          ; Lowercase # L&       LATIN SMALL LETTER INSULAR R
+A785          ; Lowercase # L&       LATIN SMALL LETTER INSULAR S
+A787          ; Lowercase # L&       LATIN SMALL LETTER INSULAR T
+A78C          ; Lowercase # L&       LATIN SMALL LETTER SALTILLO
+A78E          ; Lowercase # L&       LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A791          ; Lowercase # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Lowercase # L&       LATIN SMALL LETTER C WITH BAR
+A7A1          ; Lowercase # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A3          ; Lowercase # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A5          ; Lowercase # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A7          ; Lowercase # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A9          ; Lowercase # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7F8..A7F9    ; Lowercase # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+A7FA          ; Lowercase # L&       LATIN LETTER SMALL CAPITAL TURNED M
+FB00..FB06    ; Lowercase # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
+FB13..FB17    ; Lowercase # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
+FF41..FF5A    ; Lowercase # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
+10428..1044F  ; Lowercase # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+1D41A..1D433  ; Lowercase # L&  [26] MATHEMATICAL BOLD SMALL A..MATHEMATICAL BOLD SMALL Z
+1D44E..1D454  ; Lowercase # L&   [7] MATHEMATICAL ITALIC SMALL A..MATHEMATICAL ITALIC SMALL G
+1D456..1D467  ; Lowercase # L&  [18] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL Z
+1D482..1D49B  ; Lowercase # L&  [26] MATHEMATICAL BOLD ITALIC SMALL A..MATHEMATICAL BOLD ITALIC SMALL Z
+1D4B6..1D4B9  ; Lowercase # L&   [4] MATHEMATICAL SCRIPT SMALL A..MATHEMATICAL SCRIPT SMALL D
+1D4BB         ; Lowercase # L&       MATHEMATICAL SCRIPT SMALL F
+1D4BD..1D4C3  ; Lowercase # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
+1D4C5..1D4CF  ; Lowercase # L&  [11] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL SCRIPT SMALL Z
+1D4EA..1D503  ; Lowercase # L&  [26] MATHEMATICAL BOLD SCRIPT SMALL A..MATHEMATICAL BOLD SCRIPT SMALL Z
+1D51E..1D537  ; Lowercase # L&  [26] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL FRAKTUR SMALL Z
+1D552..1D56B  ; Lowercase # L&  [26] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D586..1D59F  ; Lowercase # L&  [26] MATHEMATICAL BOLD FRAKTUR SMALL A..MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5BA..1D5D3  ; Lowercase # L&  [26] MATHEMATICAL SANS-SERIF SMALL A..MATHEMATICAL SANS-SERIF SMALL Z
+1D5EE..1D607  ; Lowercase # L&  [26] MATHEMATICAL SANS-SERIF BOLD SMALL A..MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D622..1D63B  ; Lowercase # L&  [26] MATHEMATICAL SANS-SERIF ITALIC SMALL A..MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D656..1D66F  ; Lowercase # L&  [26] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D68A..1D6A5  ; Lowercase # L&  [28] MATHEMATICAL MONOSPACE SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6C2..1D6DA  ; Lowercase # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
+1D6DC..1D6E1  ; Lowercase # L&   [6] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL BOLD PI SYMBOL
+1D6FC..1D714  ; Lowercase # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
+1D716..1D71B  ; Lowercase # L&   [6] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL ITALIC PI SYMBOL
+1D736..1D74E  ; Lowercase # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D750..1D755  ; Lowercase # L&   [6] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D770..1D788  ; Lowercase # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D78A..1D78F  ; Lowercase # L&   [6] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D7AA..1D7C2  ; Lowercase # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C4..1D7C9  ; Lowercase # L&   [6] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+1D7CB         ; Lowercase # L&       MATHEMATICAL BOLD SMALL DIGAMMA
+
+# Total code points: 1934
+
+# ================================================
+
+# Derived Property: Uppercase
+#  Generated from: Lu + Other_Uppercase
+
+0041..005A    ; Uppercase # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
+00C0..00D6    ; Uppercase # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
+00D8..00DE    ; Uppercase # L&   [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
+0100          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH MACRON
+0102          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE
+0104          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH OGONEK
+0106          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH ACUTE
+0108          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010A          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH DOT ABOVE
+010C          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH CARON
+010E          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH CARON
+0110          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH STROKE
+0112          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH MACRON
+0114          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH BREVE
+0116          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH DOT ABOVE
+0118          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH OGONEK
+011A          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CARON
+011C          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+011E          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH BREVE
+0120          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0122          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH CEDILLA
+0124          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0126          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH STROKE
+0128          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH TILDE
+012A          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH MACRON
+012C          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH BREVE
+012E          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH OGONEK
+0130          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH DOT ABOVE
+0132          ; Uppercase # L&       LATIN CAPITAL LIGATURE IJ
+0134          ; Uppercase # L&       LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0136          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH CEDILLA
+0139          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH ACUTE
+013B          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH CEDILLA
+013D          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH CARON
+013F          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH MIDDLE DOT
+0141          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH STROKE
+0143          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH ACUTE
+0145          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH CEDILLA
+0147          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH CARON
+014A          ; Uppercase # L&       LATIN CAPITAL LETTER ENG
+014C          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH MACRON
+014E          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH BREVE
+0150          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0152          ; Uppercase # L&       LATIN CAPITAL LIGATURE OE
+0154          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH ACUTE
+0156          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH CEDILLA
+0158          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH CARON
+015A          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH ACUTE
+015C          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+015E          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH CEDILLA
+0160          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH CARON
+0162          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH CEDILLA
+0164          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH CARON
+0166          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH STROKE
+0168          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH TILDE
+016A          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH MACRON
+016C          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH BREVE
+016E          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH RING ABOVE
+0170          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0172          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH OGONEK
+0174          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0176          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0178..0179    ; Uppercase # L&   [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
+017B          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+017D          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH CARON
+0181..0182    ; Uppercase # L&   [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
+0184          ; Uppercase # L&       LATIN CAPITAL LETTER TONE SIX
+0186..0187    ; Uppercase # L&   [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
+0189..018B    ; Uppercase # L&   [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
+018E..0191    ; Uppercase # L&   [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
+0193..0194    ; Uppercase # L&   [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
+0196..0198    ; Uppercase # L&   [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
+019C..019D    ; Uppercase # L&   [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
+019F..01A0    ; Uppercase # L&   [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
+01A2          ; Uppercase # L&       LATIN CAPITAL LETTER OI
+01A4          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH HOOK
+01A6..01A7    ; Uppercase # L&   [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
+01A9          ; Uppercase # L&       LATIN CAPITAL LETTER ESH
+01AC          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH HOOK
+01AE..01AF    ; Uppercase # L&   [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
+01B1..01B3    ; Uppercase # L&   [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
+01B5          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH STROKE
+01B7..01B8    ; Uppercase # L&   [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
+01BC          ; Uppercase # L&       LATIN CAPITAL LETTER TONE FIVE
+01C4          ; Uppercase # L&       LATIN CAPITAL LETTER DZ WITH CARON
+01C7          ; Uppercase # L&       LATIN CAPITAL LETTER LJ
+01CA          ; Uppercase # L&       LATIN CAPITAL LETTER NJ
+01CD          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CARON
+01CF          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH CARON
+01D1          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CARON
+01D3          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH CARON
+01D5          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01D7          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D9          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01DB          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DE          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+01E0          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+01E2          ; Uppercase # L&       LATIN CAPITAL LETTER AE WITH MACRON
+01E4          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH STROKE
+01E6          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH CARON
+01E8          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH CARON
+01EA          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH OGONEK
+01EC          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+01EE          ; Uppercase # L&       LATIN CAPITAL LETTER EZH WITH CARON
+01F1          ; Uppercase # L&       LATIN CAPITAL LETTER DZ
+01F4          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH ACUTE
+01F6..01F8    ; Uppercase # L&   [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
+01FA          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+01FC          ; Uppercase # L&       LATIN CAPITAL LETTER AE WITH ACUTE
+01FE          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0200          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0202          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH INVERTED BREVE
+0204          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0206          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH INVERTED BREVE
+0208          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020A          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH INVERTED BREVE
+020C          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020E          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH INVERTED BREVE
+0210          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0212          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH INVERTED BREVE
+0214          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0216          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH INVERTED BREVE
+0218          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH COMMA BELOW
+021A          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH COMMA BELOW
+021C          ; Uppercase # L&       LATIN CAPITAL LETTER YOGH
+021E          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH CARON
+0220          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+0222          ; Uppercase # L&       LATIN CAPITAL LETTER OU
+0224          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH HOOK
+0226          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH DOT ABOVE
+0228          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CEDILLA
+022A          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+022C          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022E          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DOT ABOVE
+0230          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+0232          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH MACRON
+023A..023B    ; Uppercase # L&   [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
+023D..023E    ; Uppercase # L&   [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+0241          ; Uppercase # L&       LATIN CAPITAL LETTER GLOTTAL STOP
+0243..0246    ; Uppercase # L&   [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
+0248          ; Uppercase # L&       LATIN CAPITAL LETTER J WITH STROKE
+024A          ; Uppercase # L&       LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+024C          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH STROKE
+024E          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH STROKE
+0370          ; Uppercase # L&       GREEK CAPITAL LETTER HETA
+0372          ; Uppercase # L&       GREEK CAPITAL LETTER ARCHAIC SAMPI
+0376          ; Uppercase # L&       GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+0386          ; Uppercase # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
+0388..038A    ; Uppercase # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
+038C          ; Uppercase # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
+038E..038F    ; Uppercase # L&   [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
+0391..03A1    ; Uppercase # L&  [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
+03A3..03AB    ; Uppercase # L&   [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03CF          ; Uppercase # L&       GREEK CAPITAL KAI SYMBOL
+03D2..03D4    ; Uppercase # L&   [3] GREEK UPSILON WITH HOOK SYMBOL..GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03D8          ; Uppercase # L&       GREEK LETTER ARCHAIC KOPPA
+03DA          ; Uppercase # L&       GREEK LETTER STIGMA
+03DC          ; Uppercase # L&       GREEK LETTER DIGAMMA
+03DE          ; Uppercase # L&       GREEK LETTER KOPPA
+03E0          ; Uppercase # L&       GREEK LETTER SAMPI
+03E2          ; Uppercase # L&       COPTIC CAPITAL LETTER SHEI
+03E4          ; Uppercase # L&       COPTIC CAPITAL LETTER FEI
+03E6          ; Uppercase # L&       COPTIC CAPITAL LETTER KHEI
+03E8          ; Uppercase # L&       COPTIC CAPITAL LETTER HORI
+03EA          ; Uppercase # L&       COPTIC CAPITAL LETTER GANGIA
+03EC          ; Uppercase # L&       COPTIC CAPITAL LETTER SHIMA
+03EE          ; Uppercase # L&       COPTIC CAPITAL LETTER DEI
+03F4          ; Uppercase # L&       GREEK CAPITAL THETA SYMBOL
+03F7          ; Uppercase # L&       GREEK CAPITAL LETTER SHO
+03F9..03FA    ; Uppercase # L&   [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
+03FD..042F    ; Uppercase # L&  [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
+0460          ; Uppercase # L&       CYRILLIC CAPITAL LETTER OMEGA
+0462          ; Uppercase # L&       CYRILLIC CAPITAL LETTER YAT
+0464          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED E
+0466          ; Uppercase # L&       CYRILLIC CAPITAL LETTER LITTLE YUS
+0468          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+046A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BIG YUS
+046C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KSI
+0470          ; Uppercase # L&       CYRILLIC CAPITAL LETTER PSI
+0472          ; Uppercase # L&       CYRILLIC CAPITAL LETTER FITA
+0474          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IZHITSA
+0476          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0478          ; Uppercase # L&       CYRILLIC CAPITAL LETTER UK
+047A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ROUND OMEGA
+047C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER OT
+0480          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOPPA
+048A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+048C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+048E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ER WITH TICK
+0490          ; Uppercase # L&       CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0492          ; Uppercase # L&       CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0494          ; Uppercase # L&       CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0496          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0498          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+049A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+049C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+049E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KA WITH STROKE
+04A0          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BASHKIR KA
+04A2          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04A4          ; Uppercase # L&       CYRILLIC CAPITAL LIGATURE EN GHE
+04A6          ; Uppercase # L&       CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+04A8          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ABKHASIAN HA
+04AA          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+04AC          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+04AE          ; Uppercase # L&       CYRILLIC CAPITAL LETTER STRAIGHT U
+04B0          ; Uppercase # L&       CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+04B2          ; Uppercase # L&       CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04B4          ; Uppercase # L&       CYRILLIC CAPITAL LIGATURE TE TSE
+04B6          ; Uppercase # L&       CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04B8          ; Uppercase # L&       CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+04BA          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SHHA
+04BC          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BE          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+04C0..04C1    ; Uppercase # L&   [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+04C3          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KA WITH HOOK
+04C5          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EL WITH TAIL
+04C7          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EN WITH HOOK
+04C9          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EN WITH TAIL
+04CB          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04CD          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EM WITH TAIL
+04D0          ; Uppercase # L&       CYRILLIC CAPITAL LETTER A WITH BREVE
+04D2          ; Uppercase # L&       CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D4          ; Uppercase # L&       CYRILLIC CAPITAL LIGATURE A IE
+04D6          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IE WITH BREVE
+04D8          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SCHWA
+04DA          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04DC          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DE          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E0          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+04E2          ; Uppercase # L&       CYRILLIC CAPITAL LETTER I WITH MACRON
+04E4          ; Uppercase # L&       CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+04E6          ; Uppercase # L&       CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E8          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BARRED O
+04EA          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04EC          ; Uppercase # L&       CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+04EE          ; Uppercase # L&       CYRILLIC CAPITAL LETTER U WITH MACRON
+04F0          ; Uppercase # L&       CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F2          ; Uppercase # L&       CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F4          ; Uppercase # L&       CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F6          ; Uppercase # L&       CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+04F8          ; Uppercase # L&       CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04FA          ; Uppercase # L&       CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+04FC          ; Uppercase # L&       CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FE          ; Uppercase # L&       CYRILLIC CAPITAL LETTER HA WITH STROKE
+0500          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI DE
+0502          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI DJE
+0504          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI ZJE
+0506          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI DZJE
+0508          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI LJE
+050A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI NJE
+050C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI SJE
+050E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER KOMI TJE
+0510          ; Uppercase # L&       CYRILLIC CAPITAL LETTER REVERSED ZE
+0512          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EL WITH HOOK
+0514          ; Uppercase # L&       CYRILLIC CAPITAL LETTER LHA
+0516          ; Uppercase # L&       CYRILLIC CAPITAL LETTER RHA
+0518          ; Uppercase # L&       CYRILLIC CAPITAL LETTER YAE
+051A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER QA
+051C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER WE
+051E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ALEUT KA
+0520          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0522          ; Uppercase # L&       CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+0524          ; Uppercase # L&       CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+0526          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+0531..0556    ; Uppercase # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
+10A0..10C5    ; Uppercase # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Uppercase # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Uppercase # L&       GEORGIAN CAPITAL LETTER AEN
+1E00          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH RING BELOW
+1E02          ; Uppercase # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E04          ; Uppercase # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
+1E06          ; Uppercase # L&       LATIN CAPITAL LETTER B WITH LINE BELOW
+1E08          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+1E0A          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E0C          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH DOT BELOW
+1E0E          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH LINE BELOW
+1E10          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH CEDILLA
+1E12          ; Uppercase # L&       LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E14          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1E16          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E18          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1A          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH TILDE BELOW
+1E1C          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+1E1E          ; Uppercase # L&       LATIN CAPITAL LETTER F WITH DOT ABOVE
+1E20          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH MACRON
+1E22          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E24          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH DOT BELOW
+1E26          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH DIAERESIS
+1E28          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH CEDILLA
+1E2A          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E2C          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH TILDE BELOW
+1E2E          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+1E30          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH ACUTE
+1E32          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH DOT BELOW
+1E34          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH LINE BELOW
+1E36          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH DOT BELOW
+1E38          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3A          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH LINE BELOW
+1E3C          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3E          ; Uppercase # L&       LATIN CAPITAL LETTER M WITH ACUTE
+1E40          ; Uppercase # L&       LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E42          ; Uppercase # L&       LATIN CAPITAL LETTER M WITH DOT BELOW
+1E44          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH DOT ABOVE
+1E46          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH DOT BELOW
+1E48          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH LINE BELOW
+1E4A          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E4C          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4E          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1E50          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1E52          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E54          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH ACUTE
+1E56          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH DOT ABOVE
+1E58          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH DOT ABOVE
+1E5A          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5C          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5E          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH LINE BELOW
+1E60          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH DOT ABOVE
+1E62          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH DOT BELOW
+1E64          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+1E66          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E68          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E6A          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH DOT ABOVE
+1E6C          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH DOT BELOW
+1E6E          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH LINE BELOW
+1E70          ; Uppercase # L&       LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E72          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E74          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH TILDE BELOW
+1E76          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E78          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+1E7A          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1E7C          ; Uppercase # L&       LATIN CAPITAL LETTER V WITH TILDE
+1E7E          ; Uppercase # L&       LATIN CAPITAL LETTER V WITH DOT BELOW
+1E80          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH GRAVE
+1E82          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH ACUTE
+1E84          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH DIAERESIS
+1E86          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E88          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH DOT BELOW
+1E8A          ; Uppercase # L&       LATIN CAPITAL LETTER X WITH DOT ABOVE
+1E8C          ; Uppercase # L&       LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8E          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH DOT ABOVE
+1E90          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+1E92          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E94          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH LINE BELOW
+1E9E          ; Uppercase # L&       LATIN CAPITAL LETTER SHARP S
+1EA0          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH DOT BELOW
+1EA2          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EA4          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA6          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA8          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAA          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAC          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAE          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB0          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB2          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB4          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB6          ; Uppercase # L&       LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EB8          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH DOT BELOW
+1EBA          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EBC          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH TILDE
+1EBE          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC0          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC2          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC4          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC6          ; Uppercase # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC8          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECA          ; Uppercase # L&       LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECC          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH DOT BELOW
+1ECE          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1ED0          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED2          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED4          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED6          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED8          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EDA          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDC          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDE          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE0          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EE2          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1EE4          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH DOT BELOW
+1EE6          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EE8          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEA          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEC          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EEE          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EF0          ; Uppercase # L&       LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EF2          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH GRAVE
+1EF4          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH DOT BELOW
+1EF6          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF8          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH TILDE
+1EFA          ; Uppercase # L&       LATIN CAPITAL LETTER MIDDLE-WELSH LL
+1EFC          ; Uppercase # L&       LATIN CAPITAL LETTER MIDDLE-WELSH V
+1EFE          ; Uppercase # L&       LATIN CAPITAL LETTER Y WITH LOOP
+1F08..1F0F    ; Uppercase # L&   [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F18..1F1D    ; Uppercase # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F28..1F2F    ; Uppercase # L&   [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F38..1F3F    ; Uppercase # L&   [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F48..1F4D    ; Uppercase # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F59          ; Uppercase # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F5B          ; Uppercase # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F5D          ; Uppercase # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F5F          ; Uppercase # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F68..1F6F    ; Uppercase # L&   [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1FB8..1FBB    ; Uppercase # L&   [4] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH OXIA
+1FC8..1FCB    ; Uppercase # L&   [4] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH OXIA
+1FD8..1FDB    ; Uppercase # L&   [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
+1FE8..1FEC    ; Uppercase # L&   [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
+1FF8..1FFB    ; Uppercase # L&   [4] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH OXIA
+2102          ; Uppercase # L&       DOUBLE-STRUCK CAPITAL C
+2107          ; Uppercase # L&       EULER CONSTANT
+210B..210D    ; Uppercase # L&   [3] SCRIPT CAPITAL H..DOUBLE-STRUCK CAPITAL H
+2110..2112    ; Uppercase # L&   [3] SCRIPT CAPITAL I..SCRIPT CAPITAL L
+2115          ; Uppercase # L&       DOUBLE-STRUCK CAPITAL N
+2119..211D    ; Uppercase # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124          ; Uppercase # L&       DOUBLE-STRUCK CAPITAL Z
+2126          ; Uppercase # L&       OHM SIGN
+2128          ; Uppercase # L&       BLACK-LETTER CAPITAL Z
+212A..212D    ; Uppercase # L&   [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
+2130..2133    ; Uppercase # L&   [4] SCRIPT CAPITAL E..SCRIPT CAPITAL M
+213E..213F    ; Uppercase # L&   [2] DOUBLE-STRUCK CAPITAL GAMMA..DOUBLE-STRUCK CAPITAL PI
+2145          ; Uppercase # L&       DOUBLE-STRUCK ITALIC CAPITAL D
+2160..216F    ; Uppercase # Nl  [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
+2183          ; Uppercase # L&       ROMAN NUMERAL REVERSED ONE HUNDRED
+24B6..24CF    ; Uppercase # So  [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
+2C00..2C2E    ; Uppercase # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+2C60          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH DOUBLE BAR
+2C62..2C64    ; Uppercase # L&   [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
+2C67          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH DESCENDER
+2C69          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH DESCENDER
+2C6B          ; Uppercase # L&       LATIN CAPITAL LETTER Z WITH DESCENDER
+2C6D..2C70    ; Uppercase # L&   [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
+2C72          ; Uppercase # L&       LATIN CAPITAL LETTER W WITH HOOK
+2C75          ; Uppercase # L&       LATIN CAPITAL LETTER HALF H
+2C7E..2C80    ; Uppercase # L&   [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
+2C82          ; Uppercase # L&       COPTIC CAPITAL LETTER VIDA
+2C84          ; Uppercase # L&       COPTIC CAPITAL LETTER GAMMA
+2C86          ; Uppercase # L&       COPTIC CAPITAL LETTER DALDA
+2C88          ; Uppercase # L&       COPTIC CAPITAL LETTER EIE
+2C8A          ; Uppercase # L&       COPTIC CAPITAL LETTER SOU
+2C8C          ; Uppercase # L&       COPTIC CAPITAL LETTER ZATA
+2C8E          ; Uppercase # L&       COPTIC CAPITAL LETTER HATE
+2C90          ; Uppercase # L&       COPTIC CAPITAL LETTER THETHE
+2C92          ; Uppercase # L&       COPTIC CAPITAL LETTER IAUDA
+2C94          ; Uppercase # L&       COPTIC CAPITAL LETTER KAPA
+2C96          ; Uppercase # L&       COPTIC CAPITAL LETTER LAULA
+2C98          ; Uppercase # L&       COPTIC CAPITAL LETTER MI
+2C9A          ; Uppercase # L&       COPTIC CAPITAL LETTER NI
+2C9C          ; Uppercase # L&       COPTIC CAPITAL LETTER KSI
+2C9E          ; Uppercase # L&       COPTIC CAPITAL LETTER O
+2CA0          ; Uppercase # L&       COPTIC CAPITAL LETTER PI
+2CA2          ; Uppercase # L&       COPTIC CAPITAL LETTER RO
+2CA4          ; Uppercase # L&       COPTIC CAPITAL LETTER SIMA
+2CA6          ; Uppercase # L&       COPTIC CAPITAL LETTER TAU
+2CA8          ; Uppercase # L&       COPTIC CAPITAL LETTER UA
+2CAA          ; Uppercase # L&       COPTIC CAPITAL LETTER FI
+2CAC          ; Uppercase # L&       COPTIC CAPITAL LETTER KHI
+2CAE          ; Uppercase # L&       COPTIC CAPITAL LETTER PSI
+2CB0          ; Uppercase # L&       COPTIC CAPITAL LETTER OOU
+2CB2          ; Uppercase # L&       COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB4          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CB6          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2CB8          ; Uppercase # L&       COPTIC CAPITAL LETTER DIALECT-P KAPA
+2CBA          ; Uppercase # L&       COPTIC CAPITAL LETTER DIALECT-P NI
+2CBC          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2CBE          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC0          ; Uppercase # L&       COPTIC CAPITAL LETTER SAMPI
+2CC2          ; Uppercase # L&       COPTIC CAPITAL LETTER CROSSED SHEI
+2CC4          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC6          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC ESH
+2CC8          ; Uppercase # L&       COPTIC CAPITAL LETTER AKHMIMIC KHEI
+2CCA          ; Uppercase # L&       COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCC          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCE          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD0          ; Uppercase # L&       COPTIC CAPITAL LETTER L-SHAPED HA
+2CD2          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD4          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC HAT
+2CD6          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+2CD8          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDA          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDC          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+2CDE          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE0          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE2          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
+2CEB          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CED          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Uppercase # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
+A640          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZEMLYA
+A642          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DZELO
+A644          ; Uppercase # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
+A646          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTA
+A648          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DJERV
+A64A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER MONOGRAPH UK
+A64C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BROAD OMEGA
+A64E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER NEUTRAL YER
+A650          ; Uppercase # L&       CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+A652          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED YAT
+A654          ; Uppercase # L&       CYRILLIC CAPITAL LETTER REVERSED YU
+A656          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED A
+A658          ; Uppercase # L&       CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+A65A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BLENDED YUS
+A65C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+A65E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER YN
+A660          ; Uppercase # L&       CYRILLIC CAPITAL LETTER REVERSED TSE
+A662          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SOFT DE
+A664          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SOFT EL
+A666          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SOFT EM
+A668          ; Uppercase # L&       CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+A680          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DWE
+A682          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DZWE
+A684          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZHWE
+A686          ; Uppercase # L&       CYRILLIC CAPITAL LETTER CCHE
+A688          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DZZE
+A68A          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+A68C          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TWE
+A68E          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TSWE
+A690          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TSSE
+A692          ; Uppercase # L&       CYRILLIC CAPITAL LETTER TCHE
+A694          ; Uppercase # L&       CYRILLIC CAPITAL LETTER HWE
+A696          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SHWE
+A722          ; Uppercase # L&       LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A724          ; Uppercase # L&       LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+A726          ; Uppercase # L&       LATIN CAPITAL LETTER HENG
+A728          ; Uppercase # L&       LATIN CAPITAL LETTER TZ
+A72A          ; Uppercase # L&       LATIN CAPITAL LETTER TRESILLO
+A72C          ; Uppercase # L&       LATIN CAPITAL LETTER CUATRILLO
+A72E          ; Uppercase # L&       LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+A732          ; Uppercase # L&       LATIN CAPITAL LETTER AA
+A734          ; Uppercase # L&       LATIN CAPITAL LETTER AO
+A736          ; Uppercase # L&       LATIN CAPITAL LETTER AU
+A738          ; Uppercase # L&       LATIN CAPITAL LETTER AV
+A73A          ; Uppercase # L&       LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73C          ; Uppercase # L&       LATIN CAPITAL LETTER AY
+A73E          ; Uppercase # L&       LATIN CAPITAL LETTER REVERSED C WITH DOT
+A740          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH STROKE
+A742          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A744          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+A746          ; Uppercase # L&       LATIN CAPITAL LETTER BROKEN L
+A748          ; Uppercase # L&       LATIN CAPITAL LETTER L WITH HIGH STROKE
+A74A          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+A74C          ; Uppercase # L&       LATIN CAPITAL LETTER O WITH LOOP
+A74E          ; Uppercase # L&       LATIN CAPITAL LETTER OO
+A750          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+A752          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH FLOURISH
+A754          ; Uppercase # L&       LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A756          ; Uppercase # L&       LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A758          ; Uppercase # L&       LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+A75A          ; Uppercase # L&       LATIN CAPITAL LETTER R ROTUNDA
+A75C          ; Uppercase # L&       LATIN CAPITAL LETTER RUM ROTUNDA
+A75E          ; Uppercase # L&       LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+A760          ; Uppercase # L&       LATIN CAPITAL LETTER VY
+A762          ; Uppercase # L&       LATIN CAPITAL LETTER VISIGOTHIC Z
+A764          ; Uppercase # L&       LATIN CAPITAL LETTER THORN WITH STROKE
+A766          ; Uppercase # L&       LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+A768          ; Uppercase # L&       LATIN CAPITAL LETTER VEND
+A76A          ; Uppercase # L&       LATIN CAPITAL LETTER ET
+A76C          ; Uppercase # L&       LATIN CAPITAL LETTER IS
+A76E          ; Uppercase # L&       LATIN CAPITAL LETTER CON
+A779          ; Uppercase # L&       LATIN CAPITAL LETTER INSULAR D
+A77B          ; Uppercase # L&       LATIN CAPITAL LETTER INSULAR F
+A77D..A77E    ; Uppercase # L&   [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
+A780          ; Uppercase # L&       LATIN CAPITAL LETTER TURNED L
+A782          ; Uppercase # L&       LATIN CAPITAL LETTER INSULAR R
+A784          ; Uppercase # L&       LATIN CAPITAL LETTER INSULAR S
+A786          ; Uppercase # L&       LATIN CAPITAL LETTER INSULAR T
+A78B          ; Uppercase # L&       LATIN CAPITAL LETTER SALTILLO
+A78D          ; Uppercase # L&       LATIN CAPITAL LETTER TURNED H
+A790          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH BAR
+A7A0          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+A7A2          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+A7A4          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+A7A6          ; Uppercase # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+A7A8          ; Uppercase # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH HOOK
+FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
+10400..10427  ; Uppercase # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+1D400..1D419  ; Uppercase # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
+1D434..1D44D  ; Uppercase # L&  [26] MATHEMATICAL ITALIC CAPITAL A..MATHEMATICAL ITALIC CAPITAL Z
+1D468..1D481  ; Uppercase # L&  [26] MATHEMATICAL BOLD ITALIC CAPITAL A..MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D49C         ; Uppercase # L&       MATHEMATICAL SCRIPT CAPITAL A
+1D49E..1D49F  ; Uppercase # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
+1D4A2         ; Uppercase # L&       MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6  ; Uppercase # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
+1D4A9..1D4AC  ; Uppercase # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE..1D4B5  ; Uppercase # L&   [8] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT CAPITAL Z
+1D4D0..1D4E9  ; Uppercase # L&  [26] MATHEMATICAL BOLD SCRIPT CAPITAL A..MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D504..1D505  ; Uppercase # L&   [2] MATHEMATICAL FRAKTUR CAPITAL A..MATHEMATICAL FRAKTUR CAPITAL B
+1D507..1D50A  ; Uppercase # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
+1D50D..1D514  ; Uppercase # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
+1D516..1D51C  ; Uppercase # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
+1D538..1D539  ; Uppercase # L&   [2] MATHEMATICAL DOUBLE-STRUCK CAPITAL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B..1D53E  ; Uppercase # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540..1D544  ; Uppercase # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546         ; Uppercase # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550  ; Uppercase # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D56C..1D585  ; Uppercase # L&  [26] MATHEMATICAL BOLD FRAKTUR CAPITAL A..MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D5A0..1D5B9  ; Uppercase # L&  [26] MATHEMATICAL SANS-SERIF CAPITAL A..MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5D4..1D5ED  ; Uppercase # L&  [26] MATHEMATICAL SANS-SERIF BOLD CAPITAL A..MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D608..1D621  ; Uppercase # L&  [26] MATHEMATICAL SANS-SERIF ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D63C..1D655  ; Uppercase # L&  [26] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D670..1D689  ; Uppercase # L&  [26] MATHEMATICAL MONOSPACE CAPITAL A..MATHEMATICAL MONOSPACE CAPITAL Z
+1D6A8..1D6C0  ; Uppercase # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
+1D6E2..1D6FA  ; Uppercase # L&  [25] MATHEMATICAL ITALIC CAPITAL ALPHA..MATHEMATICAL ITALIC CAPITAL OMEGA
+1D71C..1D734  ; Uppercase # L&  [25] MATHEMATICAL BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D756..1D76E  ; Uppercase # L&  [25] MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D790..1D7A8  ; Uppercase # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7CA         ; Uppercase # L&       MATHEMATICAL BOLD CAPITAL DIGAMMA
+
+# Total code points: 1483
+
+# ================================================
+
+# Derived Property:   Cased (Cased)
+#  As defined by Unicode Standard Definition D120
+#  C has the Lowercase or Uppercase property or has a General_Category value of Titlecase_Letter.
+
+0041..005A    ; Cased # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
+0061..007A    ; Cased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+00AA          ; Cased # Lo       FEMININE ORDINAL INDICATOR
+00B5          ; Cased # L&       MICRO SIGN
+00BA          ; Cased # Lo       MASCULINE ORDINAL INDICATOR
+00C0..00D6    ; Cased # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
+00D8..00F6    ; Cased # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
+00F8..01BA    ; Cased # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
+01BC..01BF    ; Cased # L&   [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
+01C4..0293    ; Cased # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL
+0295..02AF    ; Cased # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+02B0..02B8    ; Cased # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
+02C0..02C1    ; Cased # Lm   [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
+02E0..02E4    ; Cased # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+0345          ; Cased # Mn       COMBINING GREEK YPOGEGRAMMENI
+0370..0373    ; Cased # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
+0376..0377    ; Cased # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037A          ; Cased # Lm       GREEK YPOGEGRAMMENI
+037B..037D    ; Cased # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0386          ; Cased # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
+0388..038A    ; Cased # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
+038C          ; Cased # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
+038E..03A1    ; Cased # L&  [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
+03A3..03F5    ; Cased # L&  [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
+03F7..0481    ; Cased # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA
+048A..0527    ; Cased # L& [158] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0531..0556    ; Cased # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
+0561..0587    ; Cased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+10A0..10C5    ; Cased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Cased # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Cased # L&       GEORGIAN CAPITAL LETTER AEN
+1D00..1D2B    ; Cased # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
+1D2C..1D6A    ; Cased # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; Cased # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
+1D78          ; Cased # Lm       MODIFIER LETTER CYRILLIC EN
+1D79..1D9A    ; Cased # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+1D9B..1DBF    ; Cased # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
+1E00..1F15    ; Cased # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F18..1F1D    ; Cased # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F20..1F45    ; Cased # L&  [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F48..1F4D    ; Cased # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F50..1F57    ; Cased # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F59          ; Cased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F5B          ; Cased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F5D          ; Cased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F5F..1F7D    ; Cased # L&  [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
+1F80..1FB4    ; Cased # L&  [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FB6..1FBC    ; Cased # L&   [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FBE          ; Cased # L&       GREEK PROSGEGRAMMENI
+1FC2..1FC4    ; Cased # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FC6..1FCC    ; Cased # L&   [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FD0..1FD3    ; Cased # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6..1FDB    ; Cased # L&   [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
+1FE0..1FEC    ; Cased # L&  [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
+1FF2..1FF4    ; Cased # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1FF6..1FFC    ; Cased # L&   [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+2071          ; Cased # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Cased # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Cased # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
+2102          ; Cased # L&       DOUBLE-STRUCK CAPITAL C
+2107          ; Cased # L&       EULER CONSTANT
+210A..2113    ; Cased # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
+2115          ; Cased # L&       DOUBLE-STRUCK CAPITAL N
+2119..211D    ; Cased # L&   [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
+2124          ; Cased # L&       DOUBLE-STRUCK CAPITAL Z
+2126          ; Cased # L&       OHM SIGN
+2128          ; Cased # L&       BLACK-LETTER CAPITAL Z
+212A..212D    ; Cased # L&   [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
+212F..2134    ; Cased # L&   [6] SCRIPT SMALL E..SCRIPT SMALL O
+2139          ; Cased # L&       INFORMATION SOURCE
+213C..213F    ; Cased # L&   [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
+2145..2149    ; Cased # L&   [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
+214E          ; Cased # L&       TURNED SMALL F
+2160..217F    ; Cased # Nl  [32] ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
+2183..2184    ; Cased # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
+24B6..24E9    ; Cased # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
+2C00..2C2E    ; Cased # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+2C30..2C5E    ; Cased # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C60..2C7B    ; Cased # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Cased # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
+2C7E..2CE4    ; Cased # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
+2CEB..2CEE    ; Cased # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Cased # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
+2D00..2D25    ; Cased # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Cased # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Cased # L&       GEORGIAN SMALL LETTER AEN
+A640..A66D    ; Cased # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A680..A697    ; Cased # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A722..A76F    ; Cased # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
+A770          ; Cased # Lm       MODIFIER LETTER US
+A771..A787    ; Cased # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
+A78B..A78E    ; Cased # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A790..A793    ; Cased # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Cased # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+A7F8..A7F9    ; Cased # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+A7FA          ; Cased # L&       LATIN LETTER SMALL CAPITAL TURNED M
+FB00..FB06    ; Cased # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
+FB13..FB17    ; Cased # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
+FF21..FF3A    ; Cased # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
+FF41..FF5A    ; Cased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
+10400..1044F  ; Cased # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
+1D400..1D454  ; Cased # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
+1D456..1D49C  ; Cased # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
+1D49E..1D49F  ; Cased # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
+1D4A2         ; Cased # L&       MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6  ; Cased # L&   [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
+1D4A9..1D4AC  ; Cased # L&   [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE..1D4B9  ; Cased # L&  [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
+1D4BB         ; Cased # L&       MATHEMATICAL SCRIPT SMALL F
+1D4BD..1D4C3  ; Cased # L&   [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
+1D4C5..1D505  ; Cased # L&  [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
+1D507..1D50A  ; Cased # L&   [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
+1D50D..1D514  ; Cased # L&   [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
+1D516..1D51C  ; Cased # L&   [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
+1D51E..1D539  ; Cased # L&  [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B..1D53E  ; Cased # L&   [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540..1D544  ; Cased # L&   [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546         ; Cased # L&       MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550  ; Cased # L&   [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D552..1D6A5  ; Cased # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6A8..1D6C0  ; Cased # L&  [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
+1D6C2..1D6DA  ; Cased # L&  [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
+1D6DC..1D6FA  ; Cased # L&  [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
+1D6FC..1D714  ; Cased # L&  [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
+1D716..1D734  ; Cased # L&  [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D736..1D74E  ; Cased # L&  [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D750..1D76E  ; Cased # L&  [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D770..1D788  ; Cased # L&  [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D78A..1D7A8  ; Cased # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7AA..1D7C2  ; Cased # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C4..1D7CB  ; Cased # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+
+# Total code points: 3448
+
+# ================================================
+
+# Derived Property:   Case_Ignorable (CI)
+#  As defined by Unicode Standard Definition D121
+#  C is defined to be case-ignorable if
+#    Word_Break(C) = MidLetter or MidNumLet, or
+#    General_Category(C) = Nonspacing_Mark (Mn), Enclosing_Mark (Me), Format (Cf), Modifier_Letter (Lm), or Modifier_Symbol (Sk).
+
+0027          ; Case_Ignorable # Po       APOSTROPHE
+002E          ; Case_Ignorable # Po       FULL STOP
+003A          ; Case_Ignorable # Po       COLON
+005E          ; Case_Ignorable # Sk       CIRCUMFLEX ACCENT
+0060          ; Case_Ignorable # Sk       GRAVE ACCENT
+00A8          ; Case_Ignorable # Sk       DIAERESIS
+00AD          ; Case_Ignorable # Cf       SOFT HYPHEN
+00AF          ; Case_Ignorable # Sk       MACRON
+00B4          ; Case_Ignorable # Sk       ACUTE ACCENT
+00B7          ; Case_Ignorable # Po       MIDDLE DOT
+00B8          ; Case_Ignorable # Sk       CEDILLA
+02B0..02C1    ; Case_Ignorable # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
+02C2..02C5    ; Case_Ignorable # Sk   [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
+02C6..02D1    ; Case_Ignorable # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
+02D2..02DF    ; Case_Ignorable # Sk  [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
+02E0..02E4    ; Case_Ignorable # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02E5..02EB    ; Case_Ignorable # Sk   [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC          ; Case_Ignorable # Lm       MODIFIER LETTER VOICING
+02ED          ; Case_Ignorable # Sk       MODIFIER LETTER UNASPIRATED
+02EE          ; Case_Ignorable # Lm       MODIFIER LETTER DOUBLE APOSTROPHE
+02EF..02FF    ; Case_Ignorable # Sk  [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
+0300..036F    ; Case_Ignorable # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
+0374          ; Case_Ignorable # Lm       GREEK NUMERAL SIGN
+0375          ; Case_Ignorable # Sk       GREEK LOWER NUMERAL SIGN
+037A          ; Case_Ignorable # Lm       GREEK YPOGEGRAMMENI
+0384..0385    ; Case_Ignorable # Sk   [2] GREEK TONOS..GREEK DIALYTIKA TONOS
+0387          ; Case_Ignorable # Po       GREEK ANO TELEIA
+0483..0487    ; Case_Ignorable # Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
+0488..0489    ; Case_Ignorable # Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
+0559          ; Case_Ignorable # Lm       ARMENIAN MODIFIER LETTER LEFT HALF RING
+0591..05BD    ; Case_Ignorable # Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
+05BF          ; Case_Ignorable # Mn       HEBREW POINT RAFE
+05C1..05C2    ; Case_Ignorable # Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
+05C4..05C5    ; Case_Ignorable # Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
+05C7          ; Case_Ignorable # Mn       HEBREW POINT QAMATS QATAN
+05F4          ; Case_Ignorable # Po       HEBREW PUNCTUATION GERSHAYIM
+0600..0604    ; Case_Ignorable # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
+0610..061A    ; Case_Ignorable # Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
+0640          ; Case_Ignorable # Lm       ARABIC TATWEEL
+064B..065F    ; Case_Ignorable # Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
+0670          ; Case_Ignorable # Mn       ARABIC LETTER SUPERSCRIPT ALEF
+06D6..06DC    ; Case_Ignorable # Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
+06DD          ; Case_Ignorable # Cf       ARABIC END OF AYAH
+06DF..06E4    ; Case_Ignorable # Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
+06E5..06E6    ; Case_Ignorable # Lm   [2] ARABIC SMALL WAW..ARABIC SMALL YEH
+06E7..06E8    ; Case_Ignorable # Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
+06EA..06ED    ; Case_Ignorable # Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
+070F          ; Case_Ignorable # Cf       SYRIAC ABBREVIATION MARK
+0711          ; Case_Ignorable # Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
+0730..074A    ; Case_Ignorable # Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
+07A6..07B0    ; Case_Ignorable # Mn  [11] THAANA ABAFILI..THAANA SUKUN
+07EB..07F3    ; Case_Ignorable # Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
+07F4..07F5    ; Case_Ignorable # Lm   [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
+07FA          ; Case_Ignorable # Lm       NKO LAJANYALAN
+0816..0819    ; Case_Ignorable # Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
+081A          ; Case_Ignorable # Lm       SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B..0823    ; Case_Ignorable # Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
+0824          ; Case_Ignorable # Lm       SAMARITAN MODIFIER LETTER SHORT A
+0825..0827    ; Case_Ignorable # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
+0828          ; Case_Ignorable # Lm       SAMARITAN MODIFIER LETTER I
+0829..082D    ; Case_Ignorable # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
+0859..085B    ; Case_Ignorable # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+08E4..08FE    ; Case_Ignorable # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
+0900..0902    ; Case_Ignorable # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
+093A          ; Case_Ignorable # Mn       DEVANAGARI VOWEL SIGN OE
+093C          ; Case_Ignorable # Mn       DEVANAGARI SIGN NUKTA
+0941..0948    ; Case_Ignorable # Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
+094D          ; Case_Ignorable # Mn       DEVANAGARI SIGN VIRAMA
+0951..0957    ; Case_Ignorable # Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
+0962..0963    ; Case_Ignorable # Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
+0971          ; Case_Ignorable # Lm       DEVANAGARI SIGN HIGH SPACING DOT
+0981          ; Case_Ignorable # Mn       BENGALI SIGN CANDRABINDU
+09BC          ; Case_Ignorable # Mn       BENGALI SIGN NUKTA
+09C1..09C4    ; Case_Ignorable # Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
+09CD          ; Case_Ignorable # Mn       BENGALI SIGN VIRAMA
+09E2..09E3    ; Case_Ignorable # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
+0A01..0A02    ; Case_Ignorable # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
+0A3C          ; Case_Ignorable # Mn       GURMUKHI SIGN NUKTA
+0A41..0A42    ; Case_Ignorable # Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
+0A47..0A48    ; Case_Ignorable # Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
+0A4B..0A4D    ; Case_Ignorable # Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
+0A51          ; Case_Ignorable # Mn       GURMUKHI SIGN UDAAT
+0A70..0A71    ; Case_Ignorable # Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
+0A75          ; Case_Ignorable # Mn       GURMUKHI SIGN YAKASH
+0A81..0A82    ; Case_Ignorable # Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
+0ABC          ; Case_Ignorable # Mn       GUJARATI SIGN NUKTA
+0AC1..0AC5    ; Case_Ignorable # Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
+0AC7..0AC8    ; Case_Ignorable # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
+0ACD          ; Case_Ignorable # Mn       GUJARATI SIGN VIRAMA
+0AE2..0AE3    ; Case_Ignorable # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0B01          ; Case_Ignorable # Mn       ORIYA SIGN CANDRABINDU
+0B3C          ; Case_Ignorable # Mn       ORIYA SIGN NUKTA
+0B3F          ; Case_Ignorable # Mn       ORIYA VOWEL SIGN I
+0B41..0B44    ; Case_Ignorable # Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
+0B4D          ; Case_Ignorable # Mn       ORIYA SIGN VIRAMA
+0B56          ; Case_Ignorable # Mn       ORIYA AI LENGTH MARK
+0B62..0B63    ; Case_Ignorable # Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
+0B82          ; Case_Ignorable # Mn       TAMIL SIGN ANUSVARA
+0BC0          ; Case_Ignorable # Mn       TAMIL VOWEL SIGN II
+0BCD          ; Case_Ignorable # Mn       TAMIL SIGN VIRAMA
+0C3E..0C40    ; Case_Ignorable # Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
+0C46..0C48    ; Case_Ignorable # Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
+0C4A..0C4D    ; Case_Ignorable # Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
+0C55..0C56    ; Case_Ignorable # Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
+0C62..0C63    ; Case_Ignorable # Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
+0CBC          ; Case_Ignorable # Mn       KANNADA SIGN NUKTA
+0CBF          ; Case_Ignorable # Mn       KANNADA VOWEL SIGN I
+0CC6          ; Case_Ignorable # Mn       KANNADA VOWEL SIGN E
+0CCC..0CCD    ; Case_Ignorable # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
+0CE2..0CE3    ; Case_Ignorable # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
+0D41..0D44    ; Case_Ignorable # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
+0D4D          ; Case_Ignorable # Mn       MALAYALAM SIGN VIRAMA
+0D62..0D63    ; Case_Ignorable # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
+0DCA          ; Case_Ignorable # Mn       SINHALA SIGN AL-LAKUNA
+0DD2..0DD4    ; Case_Ignorable # Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6          ; Case_Ignorable # Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
+0E31          ; Case_Ignorable # Mn       THAI CHARACTER MAI HAN-AKAT
+0E34..0E3A    ; Case_Ignorable # Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
+0E46          ; Case_Ignorable # Lm       THAI CHARACTER MAIYAMOK
+0E47..0E4E    ; Case_Ignorable # Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
+0EB1          ; Case_Ignorable # Mn       LAO VOWEL SIGN MAI KAN
+0EB4..0EB9    ; Case_Ignorable # Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
+0EBB..0EBC    ; Case_Ignorable # Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
+0EC6          ; Case_Ignorable # Lm       LAO KO LA
+0EC8..0ECD    ; Case_Ignorable # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
+0F18..0F19    ; Case_Ignorable # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+0F35          ; Case_Ignorable # Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
+0F37          ; Case_Ignorable # Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
+0F39          ; Case_Ignorable # Mn       TIBETAN MARK TSA -PHRU
+0F71..0F7E    ; Case_Ignorable # Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
+0F80..0F84    ; Case_Ignorable # Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
+0F86..0F87    ; Case_Ignorable # Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
+0F8D..0F97    ; Case_Ignorable # Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
+0F99..0FBC    ; Case_Ignorable # Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0FC6          ; Case_Ignorable # Mn       TIBETAN SYMBOL PADMA GDAN
+102D..1030    ; Case_Ignorable # Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
+1032..1037    ; Case_Ignorable # Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
+1039..103A    ; Case_Ignorable # Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
+103D..103E    ; Case_Ignorable # Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
+1058..1059    ; Case_Ignorable # Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
+105E..1060    ; Case_Ignorable # Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
+1071..1074    ; Case_Ignorable # Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
+1082          ; Case_Ignorable # Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1085..1086    ; Case_Ignorable # Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
+108D          ; Case_Ignorable # Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+109D          ; Case_Ignorable # Mn       MYANMAR VOWEL SIGN AITON AI
+10FC          ; Case_Ignorable # Lm       MODIFIER LETTER GEORGIAN NAR
+135D..135F    ; Case_Ignorable # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
+1712..1714    ; Case_Ignorable # Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
+1732..1734    ; Case_Ignorable # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
+1752..1753    ; Case_Ignorable # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
+1772..1773    ; Case_Ignorable # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Case_Ignorable # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B7..17BD    ; Case_Ignorable # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
+17C6          ; Case_Ignorable # Mn       KHMER SIGN NIKAHIT
+17C9..17D3    ; Case_Ignorable # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
+17D7          ; Case_Ignorable # Lm       KHMER SIGN LEK TOO
+17DD          ; Case_Ignorable # Mn       KHMER SIGN ATTHACAN
+180B..180D    ; Case_Ignorable # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
+1843          ; Case_Ignorable # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
+18A9          ; Case_Ignorable # Mn       MONGOLIAN LETTER ALI GALI DAGALGA
+1920..1922    ; Case_Ignorable # Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
+1927..1928    ; Case_Ignorable # Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
+1932          ; Case_Ignorable # Mn       LIMBU SMALL LETTER ANUSVARA
+1939..193B    ; Case_Ignorable # Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
+1A17..1A18    ; Case_Ignorable # Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
+1A56          ; Case_Ignorable # Mn       TAI THAM CONSONANT SIGN MEDIAL LA
+1A58..1A5E    ; Case_Ignorable # Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
+1A60          ; Case_Ignorable # Mn       TAI THAM SIGN SAKOT
+1A62          ; Case_Ignorable # Mn       TAI THAM VOWEL SIGN MAI SAT
+1A65..1A6C    ; Case_Ignorable # Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
+1A73..1A7C    ; Case_Ignorable # Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
+1A7F          ; Case_Ignorable # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
+1AA7          ; Case_Ignorable # Lm       TAI THAM SIGN MAI YAMOK
+1B00..1B03    ; Case_Ignorable # Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
+1B34          ; Case_Ignorable # Mn       BALINESE SIGN REREKAN
+1B36..1B3A    ; Case_Ignorable # Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
+1B3C          ; Case_Ignorable # Mn       BALINESE VOWEL SIGN LA LENGA
+1B42          ; Case_Ignorable # Mn       BALINESE VOWEL SIGN PEPET
+1B6B..1B73    ; Case_Ignorable # Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
+1B80..1B81    ; Case_Ignorable # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
+1BA2..1BA5    ; Case_Ignorable # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
+1BA8..1BA9    ; Case_Ignorable # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; Case_Ignorable # Mn       SUNDANESE SIGN VIRAMA
+1BE6          ; Case_Ignorable # Mn       BATAK SIGN TOMPI
+1BE8..1BE9    ; Case_Ignorable # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
+1BED          ; Case_Ignorable # Mn       BATAK VOWEL SIGN KARO O
+1BEF..1BF1    ; Case_Ignorable # Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
+1C2C..1C33    ; Case_Ignorable # Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
+1C36..1C37    ; Case_Ignorable # Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
+1C78..1C7D    ; Case_Ignorable # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
+1CD0..1CD2    ; Case_Ignorable # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
+1CD4..1CE0    ; Case_Ignorable # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CE2..1CE8    ; Case_Ignorable # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+1CED          ; Case_Ignorable # Mn       VEDIC SIGN TIRYAK
+1CF4          ; Case_Ignorable # Mn       VEDIC TONE CANDRA ABOVE
+1D2C..1D6A    ; Case_Ignorable # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D78          ; Case_Ignorable # Lm       MODIFIER LETTER CYRILLIC EN
+1D9B..1DBF    ; Case_Ignorable # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
+1DC0..1DE6    ; Case_Ignorable # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
+1DFC..1DFF    ; Case_Ignorable # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+1FBD          ; Case_Ignorable # Sk       GREEK KORONIS
+1FBF..1FC1    ; Case_Ignorable # Sk   [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
+1FCD..1FCF    ; Case_Ignorable # Sk   [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
+1FDD..1FDF    ; Case_Ignorable # Sk   [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
+1FED..1FEF    ; Case_Ignorable # Sk   [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
+1FFD..1FFE    ; Case_Ignorable # Sk   [2] GREEK OXIA..GREEK DASIA
+200B..200F    ; Case_Ignorable # Cf   [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
+2018          ; Case_Ignorable # Pi       LEFT SINGLE QUOTATION MARK
+2019          ; Case_Ignorable # Pf       RIGHT SINGLE QUOTATION MARK
+2024          ; Case_Ignorable # Po       ONE DOT LEADER
+2027          ; Case_Ignorable # Po       HYPHENATION POINT
+202A..202E    ; Case_Ignorable # Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
+2060..2064    ; Case_Ignorable # Cf   [5] WORD JOINER..INVISIBLE PLUS
+206A..206F    ; Case_Ignorable # Cf   [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
+2071          ; Case_Ignorable # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Case_Ignorable # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Case_Ignorable # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
+20D0..20DC    ; Case_Ignorable # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
+20DD..20E0    ; Case_Ignorable # Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
+20E1          ; Case_Ignorable # Mn       COMBINING LEFT RIGHT ARROW ABOVE
+20E2..20E4    ; Case_Ignorable # Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
+20E5..20F0    ; Case_Ignorable # Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
+2C7C..2C7D    ; Case_Ignorable # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
+2CEF..2CF1    ; Case_Ignorable # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2D6F          ; Case_Ignorable # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+2D7F          ; Case_Ignorable # Mn       TIFINAGH CONSONANT JOINER
+2DE0..2DFF    ; Case_Ignorable # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+2E2F          ; Case_Ignorable # Lm       VERTICAL TILDE
+3005          ; Case_Ignorable # Lm       IDEOGRAPHIC ITERATION MARK
+302A..302D    ; Case_Ignorable # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+3031..3035    ; Case_Ignorable # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
+303B          ; Case_Ignorable # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
+3099..309A    ; Case_Ignorable # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309B..309C    ; Case_Ignorable # Sk   [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309D..309E    ; Case_Ignorable # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
+30FC..30FE    ; Case_Ignorable # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
+A015          ; Case_Ignorable # Lm       YI SYLLABLE WU
+A4F8..A4FD    ; Case_Ignorable # Lm   [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
+A60C          ; Case_Ignorable # Lm       VAI SYLLABLE LENGTHENER
+A66F          ; Case_Ignorable # Mn       COMBINING CYRILLIC VZMET
+A670..A672    ; Case_Ignorable # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
+A674..A67D    ; Case_Ignorable # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A67F          ; Case_Ignorable # Lm       CYRILLIC PAYEROK
+A69F          ; Case_Ignorable # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
+A6F0..A6F1    ; Case_Ignorable # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
+A700..A716    ; Case_Ignorable # Sk  [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717..A71F    ; Case_Ignorable # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720..A721    ; Case_Ignorable # Sk   [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
+A770          ; Case_Ignorable # Lm       MODIFIER LETTER US
+A788          ; Case_Ignorable # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789..A78A    ; Case_Ignorable # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
+A7F8..A7F9    ; Case_Ignorable # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+A802          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN DVISVARA
+A806          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN HASANTA
+A80B          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN ANUSVARA
+A825..A826    ; Case_Ignorable # Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
+A8C4          ; Case_Ignorable # Mn       SAURASHTRA SIGN VIRAMA
+A8E0..A8F1    ; Case_Ignorable # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
+A926..A92D    ; Case_Ignorable # Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
+A947..A951    ; Case_Ignorable # Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
+A980..A982    ; Case_Ignorable # Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
+A9B3          ; Case_Ignorable # Mn       JAVANESE SIGN CECAK TELU
+A9B6..A9B9    ; Case_Ignorable # Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
+A9BC          ; Case_Ignorable # Mn       JAVANESE VOWEL SIGN PEPET
+A9CF          ; Case_Ignorable # Lm       JAVANESE PANGRANGKEP
+AA29..AA2E    ; Case_Ignorable # Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
+AA31..AA32    ; Case_Ignorable # Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
+AA35..AA36    ; Case_Ignorable # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
+AA43          ; Case_Ignorable # Mn       CHAM CONSONANT SIGN FINAL NG
+AA4C          ; Case_Ignorable # Mn       CHAM CONSONANT SIGN FINAL M
+AA70          ; Case_Ignorable # Lm       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AAB0          ; Case_Ignorable # Mn       TAI VIET MAI KANG
+AAB2..AAB4    ; Case_Ignorable # Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
+AAB7..AAB8    ; Case_Ignorable # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
+AABE..AABF    ; Case_Ignorable # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
+AAC1          ; Case_Ignorable # Mn       TAI VIET TONE MAI THO
+AADD          ; Case_Ignorable # Lm       TAI VIET SYMBOL SAM
+AAEC..AAED    ; Case_Ignorable # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF3..AAF4    ; Case_Ignorable # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF6          ; Case_Ignorable # Mn       MEETEI MAYEK VIRAMA
+ABE5          ; Case_Ignorable # Mn       MEETEI MAYEK VOWEL SIGN ANAP
+ABE8          ; Case_Ignorable # Mn       MEETEI MAYEK VOWEL SIGN UNAP
+ABED          ; Case_Ignorable # Mn       MEETEI MAYEK APUN IYEK
+FB1E          ; Case_Ignorable # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
+FBB2..FBC1    ; Case_Ignorable # Sk  [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
+FE00..FE0F    ; Case_Ignorable # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
+FE13          ; Case_Ignorable # Po       PRESENTATION FORM FOR VERTICAL COLON
+FE20..FE26    ; Case_Ignorable # Mn   [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
+FE52          ; Case_Ignorable # Po       SMALL FULL STOP
+FE55          ; Case_Ignorable # Po       SMALL COLON
+FEFF          ; Case_Ignorable # Cf       ZERO WIDTH NO-BREAK SPACE
+FF07          ; Case_Ignorable # Po       FULLWIDTH APOSTROPHE
+FF0E          ; Case_Ignorable # Po       FULLWIDTH FULL STOP
+FF1A          ; Case_Ignorable # Po       FULLWIDTH COLON
+FF3E          ; Case_Ignorable # Sk       FULLWIDTH CIRCUMFLEX ACCENT
+FF40          ; Case_Ignorable # Sk       FULLWIDTH GRAVE ACCENT
+FF70          ; Case_Ignorable # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF9E..FF9F    ; Case_Ignorable # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFE3          ; Case_Ignorable # Sk       FULLWIDTH MACRON
+FFF9..FFFB    ; Case_Ignorable # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
+101FD         ; Case_Ignorable # Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+10A01..10A03  ; Case_Ignorable # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05..10A06  ; Case_Ignorable # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
+10A0C..10A0F  ; Case_Ignorable # Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
+10A38..10A3A  ; Case_Ignorable # Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
+10A3F         ; Case_Ignorable # Mn       KHAROSHTHI VIRAMA
+11001         ; Case_Ignorable # Mn       BRAHMI SIGN ANUSVARA
+11038..11046  ; Case_Ignorable # Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
+11080..11081  ; Case_Ignorable # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
+110B3..110B6  ; Case_Ignorable # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
+110B9..110BA  ; Case_Ignorable # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+110BD         ; Case_Ignorable # Cf       KAITHI NUMBER SIGN
+11100..11102  ; Case_Ignorable # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Case_Ignorable # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; Case_Ignorable # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Case_Ignorable # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; Case_Ignorable # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; Case_Ignorable # Mn       TAKRI SIGN ANUSVARA
+116AD         ; Case_Ignorable # Mn       TAKRI VOWEL SIGN AA
+116B0..116B5  ; Case_Ignorable # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B7         ; Case_Ignorable # Mn       TAKRI SIGN NUKTA
+16F8F..16F92  ; Case_Ignorable # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; Case_Ignorable # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
+1D167..1D169  ; Case_Ignorable # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
+1D173..1D17A  ; Case_Ignorable # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
+1D17B..1D182  ; Case_Ignorable # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
+1D185..1D18B  ; Case_Ignorable # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
+1D1AA..1D1AD  ; Case_Ignorable # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
+1D242..1D244  ; Case_Ignorable # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+E0001         ; Case_Ignorable # Cf       LANGUAGE TAG
+E0020..E007F  ; Case_Ignorable # Cf  [96] TAG SPACE..CANCEL TAG
+E0100..E01EF  ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
+
+# Total code points: 1799
+
+# ================================================
+
+# Derived Property:   Changes_When_Lowercased (CWL)
+#  Characters whose normalized forms are not stable under a toLowercase mapping.
+#  For more information, see D124 in Section 3.13, "Default Case Algorithms".
+#  Changes_When_Lowercased(X) is true when toLowercase(toNFD(X)) != toNFD(X)
+
+0041..005A    ; Changes_When_Lowercased # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
+00C0..00D6    ; Changes_When_Lowercased # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
+00D8..00DE    ; Changes_When_Lowercased # L&   [7] LATIN CAPITAL LETTER O WITH STROKE..LATIN CAPITAL LETTER THORN
+0100          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH MACRON
+0102          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE
+0104          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH OGONEK
+0106          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH ACUTE
+0108          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH DOT ABOVE
+010C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH CARON
+010E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH CARON
+0110          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH STROKE
+0112          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH MACRON
+0114          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH BREVE
+0116          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH DOT ABOVE
+0118          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH OGONEK
+011A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CARON
+011C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+011E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH BREVE
+0120          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0122          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH CEDILLA
+0124          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0126          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH STROKE
+0128          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH TILDE
+012A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH MACRON
+012C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH BREVE
+012E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH OGONEK
+0130          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH DOT ABOVE
+0132          ; Changes_When_Lowercased # L&       LATIN CAPITAL LIGATURE IJ
+0134          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0136          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH CEDILLA
+0139          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH ACUTE
+013B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH CEDILLA
+013D          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH CARON
+013F          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH MIDDLE DOT
+0141          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH STROKE
+0143          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH ACUTE
+0145          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH CEDILLA
+0147          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH CARON
+014A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER ENG
+014C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH MACRON
+014E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH BREVE
+0150          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0152          ; Changes_When_Lowercased # L&       LATIN CAPITAL LIGATURE OE
+0154          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH ACUTE
+0156          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH CEDILLA
+0158          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH CARON
+015A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH ACUTE
+015C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+015E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH CEDILLA
+0160          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH CARON
+0162          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH CEDILLA
+0164          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH CARON
+0166          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH STROKE
+0168          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH TILDE
+016A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH MACRON
+016C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH BREVE
+016E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH RING ABOVE
+0170          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0172          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH OGONEK
+0174          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0176          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0178..0179    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER Y WITH DIAERESIS..LATIN CAPITAL LETTER Z WITH ACUTE
+017B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+017D          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH CARON
+0181..0182    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER B WITH HOOK..LATIN CAPITAL LETTER B WITH TOPBAR
+0184          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TONE SIX
+0186..0187    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER OPEN O..LATIN CAPITAL LETTER C WITH HOOK
+0189..018B    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER AFRICAN D..LATIN CAPITAL LETTER D WITH TOPBAR
+018E..0191    ; Changes_When_Lowercased # L&   [4] LATIN CAPITAL LETTER REVERSED E..LATIN CAPITAL LETTER F WITH HOOK
+0193..0194    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER G WITH HOOK..LATIN CAPITAL LETTER GAMMA
+0196..0198    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER IOTA..LATIN CAPITAL LETTER K WITH HOOK
+019C..019D    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER TURNED M..LATIN CAPITAL LETTER N WITH LEFT HOOK
+019F..01A0    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER O WITH MIDDLE TILDE..LATIN CAPITAL LETTER O WITH HORN
+01A2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER OI
+01A4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH HOOK
+01A6..01A7    ; Changes_When_Lowercased # L&   [2] LATIN LETTER YR..LATIN CAPITAL LETTER TONE TWO
+01A9          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER ESH
+01AC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH HOOK
+01AE..01AF    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER T WITH RETROFLEX HOOK..LATIN CAPITAL LETTER U WITH HORN
+01B1..01B3    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER UPSILON..LATIN CAPITAL LETTER Y WITH HOOK
+01B5          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH STROKE
+01B7..01B8    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER EZH..LATIN CAPITAL LETTER EZH REVERSED
+01BC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TONE FIVE
+01C4..01C5    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C7..01C8    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER LJ..LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01CA..01CB    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER NJ..LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01CD          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CARON
+01CF          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH CARON
+01D1          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CARON
+01D3          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH CARON
+01D5          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01D7          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D9          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01DB          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+01E0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+01E2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AE WITH MACRON
+01E4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH STROKE
+01E6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH CARON
+01E8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH CARON
+01EA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH OGONEK
+01EC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+01EE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER EZH WITH CARON
+01F1..01F2    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER DZ..LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01F4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH ACUTE
+01F6..01F8    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER HWAIR..LATIN CAPITAL LETTER N WITH GRAVE
+01FA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+01FC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AE WITH ACUTE
+01FE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0200          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0202          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH INVERTED BREVE
+0204          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0206          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH INVERTED BREVE
+0208          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH INVERTED BREVE
+020C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH INVERTED BREVE
+0210          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0212          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH INVERTED BREVE
+0214          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0216          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH INVERTED BREVE
+0218          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH COMMA BELOW
+021A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH COMMA BELOW
+021C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER YOGH
+021E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH CARON
+0220          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+0222          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER OU
+0224          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH HOOK
+0226          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH DOT ABOVE
+0228          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CEDILLA
+022A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+022C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DOT ABOVE
+0230          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+0232          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH MACRON
+023A..023B    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER A WITH STROKE..LATIN CAPITAL LETTER C WITH STROKE
+023D..023E    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER L WITH BAR..LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+0241          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER GLOTTAL STOP
+0243..0246    ; Changes_When_Lowercased # L&   [4] LATIN CAPITAL LETTER B WITH STROKE..LATIN CAPITAL LETTER E WITH STROKE
+0248          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER J WITH STROKE
+024A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+024C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH STROKE
+024E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH STROKE
+0370          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER HETA
+0372          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER ARCHAIC SAMPI
+0376          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+0386          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER ALPHA WITH TONOS
+0388..038A    ; Changes_When_Lowercased # L&   [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
+038C          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER OMICRON WITH TONOS
+038E..038F    ; Changes_When_Lowercased # L&   [2] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER OMEGA WITH TONOS
+0391..03A1    ; Changes_When_Lowercased # L&  [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO
+03A3..03AB    ; Changes_When_Lowercased # L&   [9] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03CF          ; Changes_When_Lowercased # L&       GREEK CAPITAL KAI SYMBOL
+03D8          ; Changes_When_Lowercased # L&       GREEK LETTER ARCHAIC KOPPA
+03DA          ; Changes_When_Lowercased # L&       GREEK LETTER STIGMA
+03DC          ; Changes_When_Lowercased # L&       GREEK LETTER DIGAMMA
+03DE          ; Changes_When_Lowercased # L&       GREEK LETTER KOPPA
+03E0          ; Changes_When_Lowercased # L&       GREEK LETTER SAMPI
+03E2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER SHEI
+03E4          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER FEI
+03E6          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER KHEI
+03E8          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER HORI
+03EA          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER GANGIA
+03EC          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER SHIMA
+03EE          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DEI
+03F4          ; Changes_When_Lowercased # L&       GREEK CAPITAL THETA SYMBOL
+03F7          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER SHO
+03F9..03FA    ; Changes_When_Lowercased # L&   [2] GREEK CAPITAL LUNATE SIGMA SYMBOL..GREEK CAPITAL LETTER SAN
+03FD..042F    ; Changes_When_Lowercased # L&  [51] GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL..CYRILLIC CAPITAL LETTER YA
+0460          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER OMEGA
+0462          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER YAT
+0464          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED E
+0466          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER LITTLE YUS
+0468          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+046A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BIG YUS
+046C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KSI
+0470          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER PSI
+0472          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER FITA
+0474          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IZHITSA
+0476          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0478          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER UK
+047A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ROUND OMEGA
+047C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER OT
+0480          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOPPA
+048A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+048C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+048E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ER WITH TICK
+0490          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0492          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0494          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0496          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0498          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+049A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+049C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+049E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KA WITH STROKE
+04A0          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BASHKIR KA
+04A2          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04A4          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LIGATURE EN GHE
+04A6          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+04A8          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ABKHASIAN HA
+04AA          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+04AC          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+04AE          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER STRAIGHT U
+04B0          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+04B2          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04B4          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LIGATURE TE TSE
+04B6          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04B8          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+04BA          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SHHA
+04BC          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BE          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+04C0..04C1    ; Changes_When_Lowercased # L&   [2] CYRILLIC LETTER PALOCHKA..CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+04C3          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KA WITH HOOK
+04C5          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EL WITH TAIL
+04C7          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EN WITH HOOK
+04C9          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EN WITH TAIL
+04CB          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04CD          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EM WITH TAIL
+04D0          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER A WITH BREVE
+04D2          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D4          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LIGATURE A IE
+04D6          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IE WITH BREVE
+04D8          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SCHWA
+04DA          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04DC          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DE          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E0          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+04E2          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER I WITH MACRON
+04E4          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+04E6          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E8          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BARRED O
+04EA          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04EC          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+04EE          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER U WITH MACRON
+04F0          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F2          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F4          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F6          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+04F8          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04FA          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+04FC          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FE          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER HA WITH STROKE
+0500          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI DE
+0502          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI DJE
+0504          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI ZJE
+0506          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI DZJE
+0508          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI LJE
+050A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI NJE
+050C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI SJE
+050E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER KOMI TJE
+0510          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER REVERSED ZE
+0512          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EL WITH HOOK
+0514          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER LHA
+0516          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER RHA
+0518          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER YAE
+051A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER QA
+051C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER WE
+051E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ALEUT KA
+0520          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0522          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+0524          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+0526          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+0531..0556    ; Changes_When_Lowercased # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
+10A0..10C5    ; Changes_When_Lowercased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER AEN
+1E00          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH RING BELOW
+1E02          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E04          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER B WITH DOT BELOW
+1E06          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER B WITH LINE BELOW
+1E08          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+1E0A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E0C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH DOT BELOW
+1E0E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH LINE BELOW
+1E10          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH CEDILLA
+1E12          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E14          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1E16          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E18          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH TILDE BELOW
+1E1C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+1E1E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER F WITH DOT ABOVE
+1E20          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH MACRON
+1E22          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E24          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH DOT BELOW
+1E26          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH DIAERESIS
+1E28          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH CEDILLA
+1E2A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E2C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH TILDE BELOW
+1E2E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+1E30          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH ACUTE
+1E32          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH DOT BELOW
+1E34          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH LINE BELOW
+1E36          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH DOT BELOW
+1E38          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH LINE BELOW
+1E3C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER M WITH ACUTE
+1E40          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E42          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER M WITH DOT BELOW
+1E44          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH DOT ABOVE
+1E46          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH DOT BELOW
+1E48          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH LINE BELOW
+1E4A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E4C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1E50          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1E52          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E54          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH ACUTE
+1E56          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH DOT ABOVE
+1E58          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH DOT ABOVE
+1E5A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH LINE BELOW
+1E60          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH DOT ABOVE
+1E62          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH DOT BELOW
+1E64          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+1E66          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E68          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E6A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH DOT ABOVE
+1E6C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH DOT BELOW
+1E6E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH LINE BELOW
+1E70          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E72          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E74          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH TILDE BELOW
+1E76          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E78          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+1E7A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1E7C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER V WITH TILDE
+1E7E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER V WITH DOT BELOW
+1E80          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH GRAVE
+1E82          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH ACUTE
+1E84          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH DIAERESIS
+1E86          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E88          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH DOT BELOW
+1E8A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER X WITH DOT ABOVE
+1E8C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH DOT ABOVE
+1E90          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+1E92          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E94          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH LINE BELOW
+1E9E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER SHARP S
+1EA0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH DOT BELOW
+1EA2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EA4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EB8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH DOT BELOW
+1EBA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EBC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH TILDE
+1EBE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH DOT BELOW
+1ECE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1ED0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EDA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EE2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1EE4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH DOT BELOW
+1EE6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EE8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EEE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EF0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EF2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH GRAVE
+1EF4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH DOT BELOW
+1EF6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH TILDE
+1EFA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER MIDDLE-WELSH LL
+1EFC          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER MIDDLE-WELSH V
+1EFE          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Y WITH LOOP
+1F08..1F0F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER ALPHA WITH PSILI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F18..1F1D    ; Changes_When_Lowercased # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F28..1F2F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER ETA WITH PSILI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F38..1F3F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER IOTA WITH PSILI..GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F48..1F4D    ; Changes_When_Lowercased # L&   [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F59          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F5B          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F5D          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F5F          ; Changes_When_Lowercased # L&       GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F68..1F6F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER OMEGA WITH PSILI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F88..1F8F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F98..1F9F    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA8..1FAF    ; Changes_When_Lowercased # L&   [8] GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI..GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FB8..1FBC    ; Changes_When_Lowercased # L&   [5] GREEK CAPITAL LETTER ALPHA WITH VRACHY..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FC8..1FCC    ; Changes_When_Lowercased # L&   [5] GREEK CAPITAL LETTER EPSILON WITH VARIA..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FD8..1FDB    ; Changes_When_Lowercased # L&   [4] GREEK CAPITAL LETTER IOTA WITH VRACHY..GREEK CAPITAL LETTER IOTA WITH OXIA
+1FE8..1FEC    ; Changes_When_Lowercased # L&   [5] GREEK CAPITAL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
+1FF8..1FFC    ; Changes_When_Lowercased # L&   [5] GREEK CAPITAL LETTER OMICRON WITH VARIA..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+2126          ; Changes_When_Lowercased # L&       OHM SIGN
+212A..212B    ; Changes_When_Lowercased # L&   [2] KELVIN SIGN..ANGSTROM SIGN
+2132          ; Changes_When_Lowercased # L&       TURNED CAPITAL F
+2160..216F    ; Changes_When_Lowercased # Nl  [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND
+2183          ; Changes_When_Lowercased # L&       ROMAN NUMERAL REVERSED ONE HUNDRED
+24B6..24CF    ; Changes_When_Lowercased # So  [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z
+2C00..2C2E    ; Changes_When_Lowercased # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+2C60          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH DOUBLE BAR
+2C62..2C64    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER L WITH MIDDLE TILDE..LATIN CAPITAL LETTER R WITH TAIL
+2C67          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH DESCENDER
+2C69          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH DESCENDER
+2C6B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Z WITH DESCENDER
+2C6D..2C70    ; Changes_When_Lowercased # L&   [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
+2C72          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER W WITH HOOK
+2C75          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER HALF H
+2C7E..2C80    ; Changes_When_Lowercased # L&   [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
+2C82          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER VIDA
+2C84          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER GAMMA
+2C86          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DALDA
+2C88          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER EIE
+2C8A          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER SOU
+2C8C          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER ZATA
+2C8E          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER HATE
+2C90          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER THETHE
+2C92          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER IAUDA
+2C94          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER KAPA
+2C96          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER LAULA
+2C98          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER MI
+2C9A          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER NI
+2C9C          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER KSI
+2C9E          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER O
+2CA0          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER PI
+2CA2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER RO
+2CA4          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER SIMA
+2CA6          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER TAU
+2CA8          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER UA
+2CAA          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER FI
+2CAC          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER KHI
+2CAE          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER PSI
+2CB0          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OOU
+2CB2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB4          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CB6          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2CB8          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DIALECT-P KAPA
+2CBA          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DIALECT-P NI
+2CBC          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2CBE          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC0          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER SAMPI
+2CC2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CROSSED SHEI
+2CC4          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC6          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC ESH
+2CC8          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER AKHMIMIC KHEI
+2CCA          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCC          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCE          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD0          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER L-SHAPED HA
+2CD2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD4          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC HAT
+2CD6          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+2CD8          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDA          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDC          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+2CDE          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE0          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
+2CEB          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CED          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
+A640          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZEMLYA
+A642          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DZELO
+A644          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
+A646          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTA
+A648          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DJERV
+A64A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER MONOGRAPH UK
+A64C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BROAD OMEGA
+A64E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER NEUTRAL YER
+A650          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+A652          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED YAT
+A654          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER REVERSED YU
+A656          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED A
+A658          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+A65A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BLENDED YUS
+A65C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+A65E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER YN
+A660          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER REVERSED TSE
+A662          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SOFT DE
+A664          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SOFT EL
+A666          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SOFT EM
+A668          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+A680          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DWE
+A682          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DZWE
+A684          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZHWE
+A686          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER CCHE
+A688          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DZZE
+A68A          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+A68C          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TWE
+A68E          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TSWE
+A690          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TSSE
+A692          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER TCHE
+A694          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER HWE
+A696          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SHWE
+A722          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A724          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+A726          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER HENG
+A728          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TZ
+A72A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TRESILLO
+A72C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER CUATRILLO
+A72E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+A732          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AA
+A734          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AO
+A736          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AU
+A738          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AV
+A73A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER AY
+A73E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER REVERSED C WITH DOT
+A740          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH STROKE
+A742          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A744          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+A746          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER BROKEN L
+A748          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER L WITH HIGH STROKE
+A74A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+A74C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER O WITH LOOP
+A74E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER OO
+A750          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+A752          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH FLOURISH
+A754          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A756          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A758          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+A75A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R ROTUNDA
+A75C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER RUM ROTUNDA
+A75E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+A760          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER VY
+A762          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER VISIGOTHIC Z
+A764          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER THORN WITH STROKE
+A766          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+A768          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER VEND
+A76A          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER ET
+A76C          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER IS
+A76E          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER CON
+A779          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER INSULAR D
+A77B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER INSULAR F
+A77D..A77E    ; Changes_When_Lowercased # L&   [2] LATIN CAPITAL LETTER INSULAR G..LATIN CAPITAL LETTER TURNED INSULAR G
+A780          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TURNED L
+A782          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER INSULAR R
+A784          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER INSULAR S
+A786          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER INSULAR T
+A78B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER SALTILLO
+A78D          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TURNED H
+A790          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH BAR
+A7A0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+A7A2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+A7A4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+A7A6          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+A7A8          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH HOOK
+FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
+10400..10427  ; Changes_When_Lowercased # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
+
+# Total code points: 1043
+
+# ================================================
+
+# Derived Property:   Changes_When_Uppercased (CWU)
+#  Characters whose normalized forms are not stable under a toUppercase mapping.
+#  For more information, see D125 in Section 3.13, "Default Case Algorithms".
+#  Changes_When_Uppercased(X) is true when toUppercase(toNFD(X)) != toNFD(X)
+
+0061..007A    ; Changes_When_Uppercased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+00B5          ; Changes_When_Uppercased # L&       MICRO SIGN
+00DF..00F6    ; Changes_When_Uppercased # L&  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
+00F8..00FF    ; Changes_When_Uppercased # L&   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
+0101          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH MACRON
+0103          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE
+0105          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH OGONEK
+0107          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH ACUTE
+0109          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH CIRCUMFLEX
+010B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH DOT ABOVE
+010D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH CARON
+010F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH CARON
+0111          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH STROKE
+0113          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH MACRON
+0115          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH BREVE
+0117          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH DOT ABOVE
+0119          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH OGONEK
+011B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CARON
+011D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH CIRCUMFLEX
+011F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH BREVE
+0121          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH DOT ABOVE
+0123          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH CEDILLA
+0125          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH CIRCUMFLEX
+0127          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH STROKE
+0129          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH TILDE
+012B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH MACRON
+012D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH BREVE
+012F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH OGONEK
+0131          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER DOTLESS I
+0133          ; Changes_When_Uppercased # L&       LATIN SMALL LIGATURE IJ
+0135          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER J WITH CIRCUMFLEX
+0137          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH CEDILLA
+013A          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH ACUTE
+013C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH CEDILLA
+013E          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH CARON
+0140          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH MIDDLE DOT
+0142          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH STROKE
+0144          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH ACUTE
+0146          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH CEDILLA
+0148..0149    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+014B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER ENG
+014D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH MACRON
+014F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH BREVE
+0151          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0153          ; Changes_When_Uppercased # L&       LATIN SMALL LIGATURE OE
+0155          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH ACUTE
+0157          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH CEDILLA
+0159          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH CARON
+015B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH ACUTE
+015D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH CIRCUMFLEX
+015F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH CEDILLA
+0161          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH CARON
+0163          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH CEDILLA
+0165          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH CARON
+0167          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH STROKE
+0169          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH TILDE
+016B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH MACRON
+016D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH BREVE
+016F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH RING ABOVE
+0171          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0173          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH OGONEK
+0175          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0177          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+017A          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH ACUTE
+017C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH DOT ABOVE
+017E..0180    ; Changes_When_Uppercased # L&   [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
+0183          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER B WITH TOPBAR
+0185          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TONE SIX
+0188          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH HOOK
+018C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH TOPBAR
+0192          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER F WITH HOOK
+0195          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER HV
+0199..019A    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER L WITH BAR
+019E          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH LONG RIGHT LEG
+01A1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN
+01A3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OI
+01A5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH HOOK
+01A8          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TONE TWO
+01AD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH HOOK
+01B0          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN
+01B4          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH HOOK
+01B6          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH STROKE
+01B9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER EZH REVERSED
+01BD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TONE FIVE
+01BF          ; Changes_When_Uppercased # L&       LATIN LETTER WYNN
+01C5..01C6    ; Changes_When_Uppercased # L&   [2] LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON..LATIN SMALL LETTER DZ WITH CARON
+01C8..01C9    ; Changes_When_Uppercased # L&   [2] LATIN CAPITAL LETTER L WITH SMALL LETTER J..LATIN SMALL LETTER LJ
+01CB..01CC    ; Changes_When_Uppercased # L&   [2] LATIN CAPITAL LETTER N WITH SMALL LETTER J..LATIN SMALL LETTER NJ
+01CE          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CARON
+01D0          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH CARON
+01D2          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CARON
+01D4          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH CARON
+01D6          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D8          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01DA          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01DC..01DD    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
+01DF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01E1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AE WITH MACRON
+01E5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH STROKE
+01E7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH CARON
+01E9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH CARON
+01EB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH OGONEK
+01ED          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EF..01F0    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER EZH WITH CARON..LATIN SMALL LETTER J WITH CARON
+01F2..01F3    ; Changes_When_Uppercased # L&   [2] LATIN CAPITAL LETTER D WITH SMALL LETTER Z..LATIN SMALL LETTER DZ
+01F5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH ACUTE
+01F9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH GRAVE
+01FB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AE WITH ACUTE
+01FF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH STROKE AND ACUTE
+0201          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0203          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH INVERTED BREVE
+0205          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0207          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH INVERTED BREVE
+0209          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH DOUBLE GRAVE
+020B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH INVERTED BREVE
+020D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH INVERTED BREVE
+0211          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0213          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH INVERTED BREVE
+0215          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0217          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH INVERTED BREVE
+0219          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH COMMA BELOW
+021B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH COMMA BELOW
+021D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER YOGH
+021F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH CARON
+0223          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OU
+0225          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH HOOK
+0227          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH DOT ABOVE
+0229          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CEDILLA
+022B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH TILDE AND MACRON
+022F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DOT ABOVE
+0231          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0233          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH MACRON
+023C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH STROKE
+023F..0240    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
+0242          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER GLOTTAL STOP
+0247          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH STROKE
+0249          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER J WITH STROKE
+024B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Q WITH HOOK TAIL
+024D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH STROKE
+024F..0254    ; Changes_When_Uppercased # L&   [6] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER OPEN O
+0256..0257    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER D WITH TAIL..LATIN SMALL LETTER D WITH HOOK
+0259          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER SCHWA
+025B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OPEN E
+0260          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH HOOK
+0263          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER GAMMA
+0265..0266    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER TURNED H..LATIN SMALL LETTER H WITH HOOK
+0268..0269    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
+026B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH MIDDLE TILDE
+026F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED M
+0271..0272    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER M WITH HOOK..LATIN SMALL LETTER N WITH LEFT HOOK
+0275          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER BARRED O
+027D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH TAIL
+0280          ; Changes_When_Uppercased # L&       LATIN LETTER SMALL CAPITAL R
+0283          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER ESH
+0288..028C    ; Changes_When_Uppercased # L&   [5] LATIN SMALL LETTER T WITH RETROFLEX HOOK..LATIN SMALL LETTER TURNED V
+0292          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER EZH
+0345          ; Changes_When_Uppercased # Mn       COMBINING GREEK YPOGEGRAMMENI
+0371          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER HETA
+0373          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER ARCHAIC SAMPI
+0377          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037B..037D    ; Changes_When_Uppercased # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0390          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+03AC..03CE    ; Changes_When_Uppercased # L&  [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
+03D0..03D1    ; Changes_When_Uppercased # L&   [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
+03D5..03D7    ; Changes_When_Uppercased # L&   [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
+03D9          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER ARCHAIC KOPPA
+03DB          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER STIGMA
+03DD          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER DIGAMMA
+03DF          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER KOPPA
+03E1          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER SAMPI
+03E3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER SHEI
+03E5          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER FEI
+03E7          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER KHEI
+03E9          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER HORI
+03EB          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER GANGIA
+03ED          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER SHIMA
+03EF..03F2    ; Changes_When_Uppercased # L&   [4] COPTIC SMALL LETTER DEI..GREEK LUNATE SIGMA SYMBOL
+03F5          ; Changes_When_Uppercased # L&       GREEK LUNATE EPSILON SYMBOL
+03F8          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER SHO
+03FB          ; Changes_When_Uppercased # L&       GREEK SMALL LETTER SAN
+0430..045F    ; Changes_When_Uppercased # L&  [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
+0461          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER OMEGA
+0463          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER YAT
+0465          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED E
+0467          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER LITTLE YUS
+0469          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+046B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BIG YUS
+046D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+046F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KSI
+0471          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER PSI
+0473          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER FITA
+0475          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IZHITSA
+0477          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0479          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER UK
+047B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ROUND OMEGA
+047D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER OT
+0481          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOPPA
+048B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SEMISOFT SIGN
+048F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ER WITH TICK
+0491          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER GHE WITH UPTURN
+0493          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER GHE WITH STROKE
+0495          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0497          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0499          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZE WITH DESCENDER
+049B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KA WITH DESCENDER
+049D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KA WITH STROKE
+04A1          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BASHKIR KA
+04A3          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A5          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LIGATURE EN GHE
+04A7          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A9          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ABKHASIAN HA
+04AB          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AD          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AF          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER STRAIGHT U
+04B1          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B3          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B5          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LIGATURE TE TSE
+04B7          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B9          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04BB          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SHHA
+04BD          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BF          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04C2          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C4          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KA WITH HOOK
+04C6          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EL WITH TAIL
+04C8          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EN WITH HOOK
+04CA          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EN WITH TAIL
+04CC          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CE..04CF    ; Changes_When_Uppercased # L&   [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
+04D1          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER A WITH BREVE
+04D3          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D5          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LIGATURE A IE
+04D7          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IE WITH BREVE
+04D9          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SCHWA
+04DB          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DD          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DF          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04E1          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E3          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER I WITH MACRON
+04E5          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E7          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E9          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BARRED O
+04EB          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04ED          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EF          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER U WITH MACRON
+04F1          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F3          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F5          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F7          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F9          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04FB          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FD          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER HA WITH HOOK
+04FF          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER HA WITH STROKE
+0501          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI DE
+0503          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI DJE
+0505          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI ZJE
+0507          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI DZJE
+0509          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI LJE
+050B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI NJE
+050D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI SJE
+050F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER KOMI TJE
+0511          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER REVERSED ZE
+0513          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EL WITH HOOK
+0515          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER LHA
+0517          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER RHA
+0519          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER YAE
+051B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER QA
+051D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER WE
+051F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ALEUT KA
+0521          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0523          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0525          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER PE WITH DESCENDER
+0527          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0561..0587    ; Changes_When_Uppercased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+1D79          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR G
+1D7D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH STROKE
+1E01          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH RING BELOW
+1E03          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER B WITH DOT ABOVE
+1E05          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER B WITH DOT BELOW
+1E07          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER B WITH LINE BELOW
+1E09          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E0B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH DOT ABOVE
+1E0D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH DOT BELOW
+1E0F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH LINE BELOW
+1E11          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH CEDILLA
+1E13          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E15          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E17          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E19          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E1B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH TILDE BELOW
+1E1D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER F WITH DOT ABOVE
+1E21          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH MACRON
+1E23          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH DOT ABOVE
+1E25          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH DOT BELOW
+1E27          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH DIAERESIS
+1E29          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH CEDILLA
+1E2B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH BREVE BELOW
+1E2D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH TILDE BELOW
+1E2F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E31          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH ACUTE
+1E33          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH DOT BELOW
+1E35          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH LINE BELOW
+1E37          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH DOT BELOW
+1E39          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E3B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH LINE BELOW
+1E3D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER M WITH ACUTE
+1E41          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER M WITH DOT ABOVE
+1E43          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER M WITH DOT BELOW
+1E45          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH DOT ABOVE
+1E47          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH DOT BELOW
+1E49          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH LINE BELOW
+1E4B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E51          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E53          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E55          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH ACUTE
+1E57          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH DOT ABOVE
+1E59          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH DOT ABOVE
+1E5B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH DOT BELOW
+1E5D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH LINE BELOW
+1E61          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH DOT ABOVE
+1E63          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH DOT BELOW
+1E65          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E67          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E69          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E6B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH DOT ABOVE
+1E6D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH DOT BELOW
+1E6F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH LINE BELOW
+1E71          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E73          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E75          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH TILDE BELOW
+1E77          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E79          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E7B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER V WITH TILDE
+1E7F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER V WITH DOT BELOW
+1E81          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH GRAVE
+1E83          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH ACUTE
+1E85          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH DIAERESIS
+1E87          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH DOT ABOVE
+1E89          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH DOT BELOW
+1E8B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER X WITH DOT ABOVE
+1E8D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER X WITH DIAERESIS
+1E8F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH DOT ABOVE
+1E91          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E93          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH DOT BELOW
+1E95..1E9B    ; Changes_When_Uppercased # L&   [7] LATIN SMALL LETTER Z WITH LINE BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1EA1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH DOT BELOW
+1EA3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EB1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH DOT BELOW
+1EBB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH TILDE
+1EBF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH HOOK ABOVE
+1ECB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER I WITH DOT BELOW
+1ECD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH DOT BELOW
+1ECF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HOOK ABOVE
+1ED1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EDB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EE1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH DOT BELOW
+1EE7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EEB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EED          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEF          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN AND TILDE
+1EF1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH GRAVE
+1EF5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH DOT BELOW
+1EF7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Y WITH TILDE
+1EFB          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFD          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER MIDDLE-WELSH V
+1EFF..1F07    ; Changes_When_Uppercased # L&   [9] LATIN SMALL LETTER Y WITH LOOP..GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F10..1F15    ; Changes_When_Uppercased # L&   [6] GREEK SMALL LETTER EPSILON WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F20..1F27    ; Changes_When_Uppercased # L&   [8] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F30..1F37    ; Changes_When_Uppercased # L&   [8] GREEK SMALL LETTER IOTA WITH PSILI..GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F40..1F45    ; Changes_When_Uppercased # L&   [6] GREEK SMALL LETTER OMICRON WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F50..1F57    ; Changes_When_Uppercased # L&   [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F60..1F67    ; Changes_When_Uppercased # L&   [8] GREEK SMALL LETTER OMEGA WITH PSILI..GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F70..1F7D    ; Changes_When_Uppercased # L&  [14] GREEK SMALL LETTER ALPHA WITH VARIA..GREEK SMALL LETTER OMEGA WITH OXIA
+1F80..1FB4    ; Changes_When_Uppercased # L&  [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FB6..1FB7    ; Changes_When_Uppercased # L&   [2] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FBC          ; Changes_When_Uppercased # L&       GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FBE          ; Changes_When_Uppercased # L&       GREEK PROSGEGRAMMENI
+1FC2..1FC4    ; Changes_When_Uppercased # L&   [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FC6..1FC7    ; Changes_When_Uppercased # L&   [2] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FCC          ; Changes_When_Uppercased # L&       GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FD0..1FD3    ; Changes_When_Uppercased # L&   [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6..1FD7    ; Changes_When_Uppercased # L&   [2] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FE0..1FE7    ; Changes_When_Uppercased # L&   [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FF2..1FF4    ; Changes_When_Uppercased # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1FF6..1FF7    ; Changes_When_Uppercased # L&   [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FFC          ; Changes_When_Uppercased # L&       GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+214E          ; Changes_When_Uppercased # L&       TURNED SMALL F
+2170..217F    ; Changes_When_Uppercased # Nl  [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
+2184          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER REVERSED C
+24D0..24E9    ; Changes_When_Uppercased # So  [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
+2C30..2C5E    ; Changes_When_Uppercased # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C61          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH DOUBLE BAR
+2C65..2C66    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER A WITH STROKE..LATIN SMALL LETTER T WITH DIAGONAL STROKE
+2C68          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER H WITH DESCENDER
+2C6A          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH DESCENDER
+2C6C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Z WITH DESCENDER
+2C73          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER W WITH HOOK
+2C76          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER HALF H
+2C81          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER ALFA
+2C83          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER VIDA
+2C85          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER GAMMA
+2C87          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER DALDA
+2C89          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER EIE
+2C8B          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER SOU
+2C8D          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER ZATA
+2C8F          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER HATE
+2C91          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER THETHE
+2C93          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER IAUDA
+2C95          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER KAPA
+2C97          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER LAULA
+2C99          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER MI
+2C9B          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER NI
+2C9D          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER KSI
+2C9F          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER O
+2CA1          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER PI
+2CA3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER RO
+2CA5          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER SIMA
+2CA7          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER TAU
+2CA9          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER UA
+2CAB          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER FI
+2CAD          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER KHI
+2CAF          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER PSI
+2CB1          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OOU
+2CB3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER DIALECT-P ALEF
+2CB5          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC AIN
+2CB7          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB9          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER DIALECT-P KAPA
+2CBB          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER DIALECT-P NI
+2CBD          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBF          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC OOU
+2CC1          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER SAMPI
+2CC3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CROSSED SHEI
+2CC5          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC7          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC ESH
+2CC9          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER AKHMIMIC KHEI
+2CCB          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER DIALECT-P HORI
+2CCD          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC HORI
+2CCF          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC HA
+2CD1          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER L-SHAPED HA
+2CD3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC HEI
+2CD5          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC HAT
+2CD7          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD9          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC DJA
+2CDB          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDD          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDF          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD NUBIAN NGI
+2CE1          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD NUBIAN WAU
+2CEC          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEE          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
+2D00..2D25    ; Changes_When_Uppercased # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Changes_When_Uppercased # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Changes_When_Uppercased # L&       GEORGIAN SMALL LETTER AEN
+A641          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZEMLYA
+A643          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DZELO
+A645          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER REVERSED DZE
+A647          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTA
+A649          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DJERV
+A64B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER MONOGRAPH UK
+A64D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BROAD OMEGA
+A64F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER NEUTRAL YER
+A651          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER YERU WITH BACK YER
+A653          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED YAT
+A655          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER REVERSED YU
+A657          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED A
+A659          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A65B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BLENDED YUS
+A65D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER YN
+A661          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER REVERSED TSE
+A663          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SOFT DE
+A665          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SOFT EL
+A667          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SOFT EM
+A669          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER MONOCULAR O
+A66B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER BINOCULAR O
+A66D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A681          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DWE
+A683          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DZWE
+A685          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZHWE
+A687          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER CCHE
+A689          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DZZE
+A68B          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68D          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TWE
+A68F          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TSWE
+A691          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TSSE
+A693          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER TCHE
+A695          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER HWE
+A697          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER SHWE
+A723          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A725          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A727          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER HENG
+A729          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TZ
+A72B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TRESILLO
+A72D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER CUATRILLO
+A72F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER CUATRILLO WITH COMMA
+A733          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AA
+A735          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AO
+A737          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AU
+A739          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AV
+A73B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER AY
+A73F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER REVERSED C WITH DOT
+A741          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH STROKE
+A743          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A745          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A747          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER BROKEN L
+A749          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH HIGH STROKE
+A74B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER O WITH LOOP
+A74F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OO
+A751          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A753          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH FLOURISH
+A755          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A757          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A759          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A75B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R ROTUNDA
+A75D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER RUM ROTUNDA
+A75F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A761          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER VY
+A763          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER VISIGOTHIC Z
+A765          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER THORN WITH STROKE
+A767          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A769          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER VEND
+A76B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER ET
+A76D          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER IS
+A76F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER CON
+A77A          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR D
+A77C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR F
+A77F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED INSULAR G
+A781          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED L
+A783          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR R
+A785          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR S
+A787          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR T
+A78C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER SALTILLO
+A791          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH BAR
+A7A1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A7          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A9          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER S WITH OBLIQUE STROKE
+FB00..FB06    ; Changes_When_Uppercased # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
+FB13..FB17    ; Changes_When_Uppercased # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
+FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
+10428..1044F  ; Changes_When_Uppercased # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
+
+# Total code points: 1126
+
+# ================================================
+
+# Derived Property:   Changes_When_Titlecased (CWT)
+#  Characters whose normalized forms are not stable under a toTitlecase mapping.
+#  For more information, see D126 in Section 3.13, "Default Case Algorithms".
+#  Changes_When_Titlecased(X) is true when toTitlecase(toNFD(X)) != toNFD(X)
+
+0061..007A    ; Changes_When_Titlecased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+00B5          ; Changes_When_Titlecased # L&       MICRO SIGN
+00DF..00F6    ; Changes_When_Titlecased # L&  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
+00F8..00FF    ; Changes_When_Titlecased # L&   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
+0101          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH MACRON
+0103          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH BREVE
+0105          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH OGONEK
+0107          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH ACUTE
+0109          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH CIRCUMFLEX
+010B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH DOT ABOVE
+010D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH CARON
+010F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH CARON
+0111          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH STROKE
+0113          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH MACRON
+0115          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH BREVE
+0117          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH DOT ABOVE
+0119          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH OGONEK
+011B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH CARON
+011D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH CIRCUMFLEX
+011F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH BREVE
+0121          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH DOT ABOVE
+0123          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH CEDILLA
+0125          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH CIRCUMFLEX
+0127          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH STROKE
+0129          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH TILDE
+012B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH MACRON
+012D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH BREVE
+012F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH OGONEK
+0131          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER DOTLESS I
+0133          ; Changes_When_Titlecased # L&       LATIN SMALL LIGATURE IJ
+0135          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER J WITH CIRCUMFLEX
+0137          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH CEDILLA
+013A          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH ACUTE
+013C          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH CEDILLA
+013E          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH CARON
+0140          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH MIDDLE DOT
+0142          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH STROKE
+0144          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH ACUTE
+0146          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH CEDILLA
+0148..0149    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+014B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER ENG
+014D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH MACRON
+014F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH BREVE
+0151          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0153          ; Changes_When_Titlecased # L&       LATIN SMALL LIGATURE OE
+0155          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH ACUTE
+0157          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH CEDILLA
+0159          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH CARON
+015B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH ACUTE
+015D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH CIRCUMFLEX
+015F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH CEDILLA
+0161          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH CARON
+0163          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH CEDILLA
+0165          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH CARON
+0167          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH STROKE
+0169          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH TILDE
+016B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH MACRON
+016D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH BREVE
+016F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH RING ABOVE
+0171          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0173          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH OGONEK
+0175          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0177          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+017A          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Z WITH ACUTE
+017C          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Z WITH DOT ABOVE
+017E..0180    ; Changes_When_Titlecased # L&   [3] LATIN SMALL LETTER Z WITH CARON..LATIN SMALL LETTER B WITH STROKE
+0183          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER B WITH TOPBAR
+0185          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TONE SIX
+0188          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH HOOK
+018C          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH TOPBAR
+0192          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER F WITH HOOK
+0195          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER HV
+0199..019A    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER K WITH HOOK..LATIN SMALL LETTER L WITH BAR
+019E          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH LONG RIGHT LEG
+01A1          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH HORN
+01A3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER OI
+01A5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER P WITH HOOK
+01A8          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TONE TWO
+01AD          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH HOOK
+01B0          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH HORN
+01B4          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Y WITH HOOK
+01B6          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Z WITH STROKE
+01B9          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER EZH REVERSED
+01BD          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TONE FIVE
+01BF          ; Changes_When_Titlecased # L&       LATIN LETTER WYNN
+01C4          ; Changes_When_Titlecased # L&       LATIN CAPITAL LETTER DZ WITH CARON
+01C6..01C7    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER DZ WITH CARON..LATIN CAPITAL LETTER LJ
+01C9..01CA    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER LJ..LATIN CAPITAL LETTER NJ
+01CC          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER NJ
+01CE          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH CARON
+01D0          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH CARON
+01D2          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH CARON
+01D4          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH CARON
+01D6          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D8          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01DA          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01DC..01DD    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE..LATIN SMALL LETTER TURNED E
+01DF          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01E1          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER AE WITH MACRON
+01E5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH STROKE
+01E7          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH CARON
+01E9          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH CARON
+01EB          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH OGONEK
+01ED          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EF..01F1    ; Changes_When_Titlecased # L&   [3] LATIN SMALL LETTER EZH WITH CARON..LATIN CAPITAL LETTER DZ
+01F3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER DZ
+01F5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH ACUTE
+01F9          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH GRAVE
+01FB          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FD          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER AE WITH ACUTE
+01FF          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH STROKE AND ACUTE
+0201          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0203          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH INVERTED BREVE
+0205          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0207          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH INVERTED BREVE
+0209          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH DOUBLE GRAVE
+020B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH INVERTED BREVE
+020D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH INVERTED BREVE
+0211          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0213          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH INVERTED BREVE
+0215          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0217          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U WITH INVERTED BREVE
+0219          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH COMMA BELOW
+021B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH COMMA BELOW
+021D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER YOGH
+021F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH CARON
+0223          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER OU
+0225          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Z WITH HOOK
+0227          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH DOT ABOVE
+0229          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH CEDILLA
+022B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH TILDE AND MACRON
+022F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH DOT ABOVE
+0231          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0233          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Y WITH MACRON
+023C          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH STROKE
+023F..0240    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER S WITH SWASH TAIL..LATIN SMALL LETTER Z WITH SWASH TAIL
+0242          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER GLOTTAL STOP
+0247          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH STROKE
+0249          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER J WITH STROKE
+024B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER Q WITH HOOK TAIL
+024D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH STROKE
+024F..0254    ; Changes_When_Titlecased # L&   [6] LATIN SMALL LETTER Y WITH STROKE..LATIN SMALL LETTER OPEN O
+0256..0257    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER D WITH TAIL..LATIN SMALL LETTER D WITH HOOK
+0259          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER SCHWA
+025B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER OPEN E
+0260          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH HOOK
+0263          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER GAMMA
+0265..0266    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER TURNED H..LATIN SMALL LETTER H WITH HOOK
+0268..0269    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
+026B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH MIDDLE TILDE
+026F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TURNED M
+0271..0272    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER M WITH HOOK..LATIN SMALL LETTER N WITH LEFT HOOK
+0275          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER BARRED O
+027D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH TAIL
+0280          ; Changes_When_Titlecased # L&       LATIN LETTER SMALL CAPITAL R
+0283          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER ESH
+0288..028C    ; Changes_When_Titlecased # L&   [5] LATIN SMALL LETTER T WITH RETROFLEX HOOK..LATIN SMALL LETTER TURNED V
+0292          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER EZH
+0345          ; Changes_When_Titlecased # Mn       COMBINING GREEK YPOGEGRAMMENI
+0371          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER HETA
+0373          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER ARCHAIC SAMPI
+0377          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037B..037D    ; Changes_When_Titlecased # L&   [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0390          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+03AC..03CE    ; Changes_When_Titlecased # L&  [35] GREEK SMALL LETTER ALPHA WITH TONOS..GREEK SMALL LETTER OMEGA WITH TONOS
+03D0..03D1    ; Changes_When_Titlecased # L&   [2] GREEK BETA SYMBOL..GREEK THETA SYMBOL
+03D5..03D7    ; Changes_When_Titlecased # L&   [3] GREEK PHI SYMBOL..GREEK KAI SYMBOL
+03D9          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER ARCHAIC KOPPA
+03DB          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER STIGMA
+03DD          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER DIGAMMA
+03DF          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER KOPPA
+03E1          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER SAMPI
+03E3          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER SHEI
+03E5          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER FEI
+03E7          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER KHEI
+03E9          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER HORI
+03EB          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER GANGIA
+03ED          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER SHIMA
+03EF..03F2    ; Changes_When_Titlecased # L&   [4] COPTIC SMALL LETTER DEI..GREEK LUNATE SIGMA SYMBOL
+03F5          ; Changes_When_Titlecased # L&       GREEK LUNATE EPSILON SYMBOL
+03F8          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER SHO
+03FB          ; Changes_When_Titlecased # L&       GREEK SMALL LETTER SAN
+0430..045F    ; Changes_When_Titlecased # L&  [48] CYRILLIC SMALL LETTER A..CYRILLIC SMALL LETTER DZHE
+0461          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER OMEGA
+0463          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER YAT
+0465          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IOTIFIED E
+0467          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER LITTLE YUS
+0469          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+046B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER BIG YUS
+046D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+046F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KSI
+0471          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER PSI
+0473          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER FITA
+0475          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IZHITSA
+0477          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0479          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER UK
+047B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ROUND OMEGA
+047D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER OT
+0481          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOPPA
+048B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SEMISOFT SIGN
+048F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ER WITH TICK
+0491          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER GHE WITH UPTURN
+0493          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER GHE WITH STROKE
+0495          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0497          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0499          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZE WITH DESCENDER
+049B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KA WITH DESCENDER
+049D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KA WITH STROKE
+04A1          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER BASHKIR KA
+04A3          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A5          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LIGATURE EN GHE
+04A7          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A9          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ABKHASIAN HA
+04AB          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AD          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AF          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER STRAIGHT U
+04B1          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B3          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B5          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LIGATURE TE TSE
+04B7          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B9          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04BB          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SHHA
+04BD          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BF          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04C2          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C4          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KA WITH HOOK
+04C6          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EL WITH TAIL
+04C8          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EN WITH HOOK
+04CA          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EN WITH TAIL
+04CC          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CE..04CF    ; Changes_When_Titlecased # L&   [2] CYRILLIC SMALL LETTER EM WITH TAIL..CYRILLIC SMALL LETTER PALOCHKA
+04D1          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER A WITH BREVE
+04D3          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D5          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LIGATURE A IE
+04D7          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER IE WITH BREVE
+04D9          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SCHWA
+04DB          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DD          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DF          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04E1          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E3          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER I WITH MACRON
+04E5          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E7          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E9          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER BARRED O
+04EB          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04ED          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EF          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER U WITH MACRON
+04F1          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F3          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F5          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F7          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F9          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04FB          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FD          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER HA WITH HOOK
+04FF          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER HA WITH STROKE
+0501          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI DE
+0503          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI DJE
+0505          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI ZJE
+0507          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI DZJE
+0509          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI LJE
+050B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI NJE
+050D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI SJE
+050F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER KOMI TJE
+0511          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER REVERSED ZE
+0513          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EL WITH HOOK
+0515          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER LHA
+0517          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER RHA
+0519          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER YAE
+051B          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER QA
+051D          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER WE
+051F          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ALEUT KA
+0521          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0523          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0525          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER PE WITH DESCENDER
+0527          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0561..0587    ; Changes_When_Titlecased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+1D79          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER INSULAR G
+1D7D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER P WITH STROKE
+1E01          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER A WITH RING BELOW
+1E03          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER B WITH DOT ABOVE
+1E05          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER B WITH DOT BELOW
+1E07          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER B WITH LINE BELOW
+1E09          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E0B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH DOT ABOVE
+1E0D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH DOT BELOW
+1E0F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH LINE BELOW
+1E11          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH CEDILLA
+1E13          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E15          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E17          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E19          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E1B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH TILDE BELOW
+1E1D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER F WITH DOT ABOVE
+1E21          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH MACRON
+1E23          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH DOT ABOVE
+1E25          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH DOT BELOW
+1E27          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH DIAERESIS
+1E29          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH CEDILLA
+1E2B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER H WITH BREVE BELOW
+1E2D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH TILDE BELOW
+1E2F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E31          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH ACUTE
+1E33          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH DOT BELOW
+1E35          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH LINE BELOW
+1E37          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH DOT BELOW
+1E39          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E3B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH LINE BELOW
+1E3D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER M WITH ACUTE
+1E41          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER M WITH DOT ABOVE
+1E43          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER M WITH DOT BELOW
+1E45          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH DOT ABOVE
+1E47          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH DOT BELOW
+1E49          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH LINE BELOW
+1E4B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E51          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E53          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E55          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER P WITH ACUTE
+1E57          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER P WITH DOT ABOVE
+1E59          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH DOT ABOVE
+1E5B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH DOT BELOW
+1E5D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER R WITH LINE BELOW
+1E61          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH DOT ABOVE
+1E63          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH DOT BELOW
+1E65          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E67          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E69          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E6B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH DOT ABOVE
+1E6D          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH DOT BELOW
+1E6F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH LINE BELOW
+1E71          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E73          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER U W