indexeddbshim 8.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v7.1.0 - 6/15/2021 */
1
+ /*! indexeddbshim - v9.0.0 - 1/5/2022 */
2
2
 
3
3
  'use strict';
4
4
 
@@ -15,14 +15,9 @@ function ownKeys$1(object, enumerableOnly) {
15
15
 
16
16
  if (Object.getOwnPropertySymbols) {
17
17
  var symbols = Object.getOwnPropertySymbols(object);
18
-
19
- if (enumerableOnly) {
20
- symbols = symbols.filter(function (sym) {
21
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
22
- });
23
- }
24
-
25
- keys.push.apply(keys, symbols);
18
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
19
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20
+ })), keys.push.apply(keys, symbols);
26
21
  }
27
22
 
28
23
  return keys;
@@ -30,19 +25,12 @@ function ownKeys$1(object, enumerableOnly) {
30
25
 
31
26
  function _objectSpread2$1(target) {
32
27
  for (var i = 1; i < arguments.length; i++) {
33
- var source = arguments[i] != null ? arguments[i] : {};
34
-
35
- if (i % 2) {
36
- ownKeys$1(Object(source), true).forEach(function (key) {
37
- _defineProperty$1(target, key, source[key]);
38
- });
39
- } else if (Object.getOwnPropertyDescriptors) {
40
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
41
- } else {
42
- ownKeys$1(Object(source)).forEach(function (key) {
43
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
44
- });
45
- }
28
+ var source = null != arguments[i] ? arguments[i] : {};
29
+ i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) {
30
+ _defineProperty$1(target, key, source[key]);
31
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) {
32
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
33
+ });
46
34
  }
47
35
 
48
36
  return target;
@@ -984,10 +972,10 @@ function escapeUnmatchedSurrogates(arg) {
984
972
  // Could add a corresponding surrogate for compatibility with `node-sqlite3`: http://bugs.python.org/issue12569 and http://stackoverflow.com/a/6701665/271577
985
973
  // but Chrome having problems
986
974
  if (unmatchedHighSurrogate) {
987
- return '^2' + unmatchedHighSurrogate.charCodeAt().toString(16).padStart(4, '0');
975
+ return '^2' + unmatchedHighSurrogate.codePointAt().toString(16).padStart(4, '0');
988
976
  }
989
977
 
990
- return (precedingLow || '') + '^3' + unmatchedLowSurrogate.charCodeAt().toString(16).padStart(4, '0');
978
+ return (precedingLow || '') + '^3' + unmatchedLowSurrogate.codePointAt().toString(16).padStart(4, '0');
991
979
  });
992
980
  }
993
981
 
@@ -1047,6 +1035,7 @@ function escapeDatabaseNameForSQLAndFiles(db) {
1047
1035
  if (CFG.databaseCharacterEscapeList !== false) {
1048
1036
  db = db.replace(CFG.databaseCharacterEscapeList ? new RegExp(CFG.databaseCharacterEscapeList, 'gu') : /[\u0000-\u001F\u007F"*/:<>?\\|]/gu, // eslint-disable-line no-control-regex
1049
1037
  function (n0) {
1038
+ // eslint-disable-next-line unicorn/prefer-code-point -- Switch to `codePointAt`?
1050
1039
  return '^1' + n0.charCodeAt().toString(16).padStart(2, '0');
1051
1040
  });
1052
1041
  }
@@ -1062,9 +1051,9 @@ function escapeDatabaseNameForSQLAndFiles(db) {
1062
1051
 
1063
1052
  function unescapeUnmatchedSurrogates(arg) {
1064
1053
  return arg.replace(/(\^+)3(d[0-9a-f]{3})/gu, (_, esc, lowSurr) => {
1065
- return esc.length % 2 ? esc.slice(1) + String.fromCharCode(Number.parseInt(lowSurr, 16)) : _;
1054
+ return esc.length % 2 ? esc.slice(1) + String.fromCodePoint(Number.parseInt(lowSurr, 16)) : _;
1066
1055
  }).replace(/(\^+)2(d[0-9a-f]{3})/gu, (_, esc, highSurr) => {
1067
- return esc.length % 2 ? esc.slice(1) + String.fromCharCode(Number.parseInt(highSurr, 16)) : _;
1056
+ return esc.length % 2 ? esc.slice(1) + String.fromCodePoint(Number.parseInt(highSurr, 16)) : _;
1068
1057
  });
1069
1058
  } // Not in use internally but supplied for convenience
1070
1059
 
@@ -1694,7 +1683,7 @@ IDBRequest.__super = function IDBRequest() {
1694
1683
 
1695
1684
  });
1696
1685
 
1697
- doneFlagGetters.forEach(function (prop) {
1686
+ doneFlagGetters.forEach(prop => {
1698
1687
  Object.defineProperty(this, '__' + prop, {
1699
1688
  enumerable: false,
1700
1689
  configurable: false,
@@ -1713,7 +1702,7 @@ IDBRequest.__super = function IDBRequest() {
1713
1702
  }
1714
1703
 
1715
1704
  });
1716
- }, this);
1705
+ });
1717
1706
  defineReadonlyProperties(this, readonlyProperties$5, {
1718
1707
  readyState: {
1719
1708
  get readyState() {
@@ -2033,7 +2022,7 @@ const keyTypeToEncodedChar = {
2033
2022
  };
2034
2023
  const keyTypes = Object.keys(keyTypeToEncodedChar);
2035
2024
  keyTypes.forEach(k => {
2036
- keyTypeToEncodedChar[k] = String.fromCharCode(keyTypeToEncodedChar[k]);
2025
+ keyTypeToEncodedChar[k] = String.fromCodePoint(keyTypeToEncodedChar[k]);
2037
2026
  });
2038
2027
  const encodedCharToKeyType = keyTypes.reduce((o, k) => {
2039
2028
  o[keyTypeToEncodedChar[k]] = k;
@@ -3463,12 +3452,12 @@ DOMStringList.prototype = {
3463
3452
  },
3464
3453
 
3465
3454
  forEach(cb, thisArg) {
3466
- // eslint-disable-next-line unicorn/no-array-callback-reference
3455
+ // eslint-disable-next-line unicorn/no-array-callback-reference, unicorn/no-array-method-this-argument
3467
3456
  this._items.forEach(cb, thisArg);
3468
3457
  },
3469
3458
 
3470
3459
  map(cb, thisArg) {
3471
- // eslint-disable-next-line unicorn/no-array-callback-reference
3460
+ // eslint-disable-next-line unicorn/no-array-callback-reference, unicorn/no-array-method-this-argument
3472
3461
  return this._items.map(cb, thisArg);
3473
3462
  },
3474
3463
 
@@ -4019,8 +4008,8 @@ IDBTransaction.prototype.__abortTransaction = function (err) {
4019
4008
  // Store was already created so we restore to name before the rename
4020
4009
  if ('__pendingName' in store && me.db.__oldObjectStoreNames.indexOf(store.__pendingName) > -1 // eslint-disable-line unicorn/prefer-includes
4021
4010
  ) {
4022
- store.__name = store.__originalName;
4023
- }
4011
+ store.__name = store.__originalName;
4012
+ }
4024
4013
 
4025
4014
  store.__indexNames = store.__oldIndexNames;
4026
4015
  delete store.__pendingDelete;
@@ -4028,8 +4017,8 @@ IDBTransaction.prototype.__abortTransaction = function (err) {
4028
4017
  // Index was already created so we restore to name before the rename
4029
4018
  if ('__pendingName' in index && store.__oldIndexNames.indexOf(index.__pendingName) > -1 // eslint-disable-line unicorn/prefer-includes
4030
4019
  ) {
4031
- index.__name = index.__originalName;
4032
- }
4020
+ index.__name = index.__originalName;
4021
+ }
4033
4022
 
4034
4023
  delete index.__pendingDelete;
4035
4024
  });
@@ -7932,9 +7921,9 @@ IDBIndex.prototype.__fetchIndexData = function (range, opType, nullDisallowed, c
7932
7921
  */
7933
7922
 
7934
7923
 
7935
- IDBIndex.prototype.openCursor = function ()
7936
- /* query, direction */
7937
- {
7924
+ IDBIndex.prototype.openCursor = function
7925
+ /* query, direction */
7926
+ () {
7938
7927
  /* eslint-enable jsdoc/check-param-names */
7939
7928
  const me = this; // eslint-disable-next-line prefer-rest-params
7940
7929
 
@@ -7956,9 +7945,9 @@ IDBIndex.prototype.openCursor = function ()
7956
7945
  */
7957
7946
 
7958
7947
 
7959
- IDBIndex.prototype.openKeyCursor = function ()
7960
- /* query, direction */
7961
- {
7948
+ IDBIndex.prototype.openKeyCursor = function
7949
+ /* query, direction */
7950
+ () {
7962
7951
  /* eslint-enable jsdoc/check-param-names */
7963
7952
  const me = this; // eslint-disable-next-line prefer-rest-params
7964
7953
 
@@ -7989,25 +7978,25 @@ IDBIndex.prototype.getKey = function (query) {
7989
7978
  return this.__fetchIndexData(query, 'key', true);
7990
7979
  };
7991
7980
 
7992
- IDBIndex.prototype.getAll = function ()
7993
- /* query, count */
7994
- {
7981
+ IDBIndex.prototype.getAll = function
7982
+ /* query, count */
7983
+ () {
7995
7984
  // eslint-disable-next-line prefer-rest-params
7996
7985
  const [query, count] = arguments;
7997
7986
  return this.__fetchIndexData(query, 'value', false, count);
7998
7987
  };
7999
7988
 
8000
- IDBIndex.prototype.getAllKeys = function ()
8001
- /* query, count */
8002
- {
7989
+ IDBIndex.prototype.getAllKeys = function
7990
+ /* query, count */
7991
+ () {
8003
7992
  // eslint-disable-next-line prefer-rest-params
8004
7993
  const [query, count] = arguments;
8005
7994
  return this.__fetchIndexData(query, 'key', false, count);
8006
7995
  };
8007
7996
 
8008
- IDBIndex.prototype.count = function ()
8009
- /* query */
8010
- {
7997
+ IDBIndex.prototype.count = function
7998
+ /* query */
7999
+ () {
8011
8000
  const me = this; // eslint-disable-next-line prefer-rest-params
8012
8001
 
8013
8002
  const query = arguments[0]; // With the exception of needing to check whether the index has been
@@ -8936,17 +8925,17 @@ IDBObjectStore.prototype.getKey = function (query) {
8936
8925
  return this.__get(query, true);
8937
8926
  };
8938
8927
 
8939
- IDBObjectStore.prototype.getAll = function ()
8940
- /* query, count */
8941
- {
8928
+ IDBObjectStore.prototype.getAll = function
8929
+ /* query, count */
8930
+ () {
8942
8931
  // eslint-disable-next-line prefer-rest-params
8943
8932
  const [query, count] = arguments;
8944
8933
  return this.__get(query, false, true, count);
8945
8934
  };
8946
8935
 
8947
- IDBObjectStore.prototype.getAllKeys = function ()
8948
- /* query, count */
8949
- {
8936
+ IDBObjectStore.prototype.getAllKeys = function
8937
+ /* query, count */
8938
+ () {
8950
8939
  // eslint-disable-next-line prefer-rest-params
8951
8940
  const [query, count] = arguments;
8952
8941
  return this.__get(query, true, true, count);
@@ -9020,9 +9009,9 @@ IDBObjectStore.prototype.clear = function () {
9020
9009
  }, undefined, me);
9021
9010
  };
9022
9011
 
9023
- IDBObjectStore.prototype.count = function ()
9024
- /* query */
9025
- {
9012
+ IDBObjectStore.prototype.count = function
9013
+ /* query */
9014
+ () {
9026
9015
  const me = this; // eslint-disable-next-line prefer-rest-params
9027
9016
 
9028
9017
  const query = arguments[0];
@@ -9039,9 +9028,9 @@ IDBObjectStore.prototype.count = function ()
9039
9028
  return IDBCursorWithValue.__createInstance(query, 'next', me, me, 'key', 'value', true).__request;
9040
9029
  };
9041
9030
 
9042
- IDBObjectStore.prototype.openCursor = function ()
9043
- /* query, direction */
9044
- {
9031
+ IDBObjectStore.prototype.openCursor = function
9032
+ /* query, direction */
9033
+ () {
9045
9034
  const me = this; // eslint-disable-next-line prefer-rest-params
9046
9035
 
9047
9036
  const [query, direction] = arguments;
@@ -9059,9 +9048,9 @@ IDBObjectStore.prototype.openCursor = function ()
9059
9048
  return cursor.__request;
9060
9049
  };
9061
9050
 
9062
- IDBObjectStore.prototype.openKeyCursor = function ()
9063
- /* query, direction */
9064
- {
9051
+ IDBObjectStore.prototype.openKeyCursor = function
9052
+ /* query, direction */
9053
+ () {
9065
9054
  const me = this;
9066
9055
 
9067
9056
  if (!(me instanceof IDBObjectStore)) {
@@ -9682,7 +9671,7 @@ function cleanupDatabaseResources(__openDatabase, name, escapedDatabaseName, dat
9682
9671
  }
9683
9672
 
9684
9673
  if (fs$1 && CFG.deleteDatabaseFiles !== false) {
9685
- fs$1.unlink(path__default['default'].join(CFG.databaseBasePath || '', escapedDatabaseName), err => {
9674
+ fs$1.unlink(path__default["default"].join(CFG.databaseBasePath || '', escapedDatabaseName), err => {
9686
9675
  if (err && err.code !== 'ENOENT') {
9687
9676
  // Ignore if file is already deleted
9688
9677
  dbError({
@@ -9697,7 +9686,7 @@ function cleanupDatabaseResources(__openDatabase, name, escapedDatabaseName, dat
9697
9686
  return;
9698
9687
  }
9699
9688
 
9700
- const sqliteDB = __openDatabase(path__default['default'].join(CFG.databaseBasePath || '', escapedDatabaseName), 1, name, CFG.DEFAULT_DB_SIZE);
9689
+ const sqliteDB = __openDatabase(path__default["default"].join(CFG.databaseBasePath || '', escapedDatabaseName), 1, name, CFG.DEFAULT_DB_SIZE);
9701
9690
 
9702
9691
  sqliteDB.transaction(function (tx) {
9703
9692
  tx.executeSql('SELECT "name" FROM __sys__', [], function (tx, data) {
@@ -9749,7 +9738,7 @@ function createSysDB(__openDatabase, success, failure) {
9749
9738
  if (sysdb) {
9750
9739
  success();
9751
9740
  } else {
9752
- sysdb = __openDatabase(typeof CFG.memoryDatabase === 'string' ? CFG.memoryDatabase : path__default['default'].join(typeof CFG.sysDatabaseBasePath === 'string' ? CFG.sysDatabaseBasePath : CFG.databaseBasePath || '', '__sysdb__' + (CFG.addSQLiteExtension !== false ? '.sqlite' : '')), 1, 'System Database', CFG.DEFAULT_DB_SIZE);
9741
+ sysdb = __openDatabase(typeof CFG.memoryDatabase === 'string' ? CFG.memoryDatabase : path__default["default"].join(typeof CFG.sysDatabaseBasePath === 'string' ? CFG.sysDatabaseBasePath : CFG.databaseBasePath || '', '__sysdb__' + (CFG.addSQLiteExtension !== false ? '.sqlite' : '')), 1, 'System Database', CFG.DEFAULT_DB_SIZE);
9753
9742
  sysdb.transaction(function (systx) {
9754
9743
  systx.executeSql('CREATE TABLE IF NOT EXISTS dbVersions (name BLOB, version INT);', [], function (systx) {
9755
9744
  if (!CFG.useSQLiteIndexes) {
@@ -9840,7 +9829,7 @@ IDBFactory.prototype.open = function (name
9840
9829
  let escapedDatabaseName; // eslint-disable-next-line no-useless-catch
9841
9830
 
9842
9831
  try {
9843
- escapedDatabaseName = escapeDatabaseNameForSQLAndFiles(name); // eslint-disable-next-line radar/no-useless-catch
9832
+ escapedDatabaseName = escapeDatabaseNameForSQLAndFiles(name); // eslint-disable-next-line sonarjs/no-useless-catch
9844
9833
  } catch (err) {
9845
9834
  throw err; // new TypeError('You have supplied a database name which does not match the currently supported configuration, possibly due to a length limit enforced for Node compatibility.');
9846
9835
  }
@@ -10043,7 +10032,7 @@ IDBFactory.prototype.open = function (name
10043
10032
  if ((useMemoryDatabase || useDatabaseCache) && name in websqlDBCache && websqlDBCache[name][version]) {
10044
10033
  db = websqlDBCache[name][version];
10045
10034
  } else {
10046
- db = me.__openDatabase(useMemoryDatabase ? CFG.memoryDatabase : path__default['default'].join(CFG.databaseBasePath || '', escapedDatabaseName), 1, name, CFG.DEFAULT_DB_SIZE);
10035
+ db = me.__openDatabase(useMemoryDatabase ? CFG.memoryDatabase : path__default["default"].join(CFG.databaseBasePath || '', escapedDatabaseName), 1, name, CFG.DEFAULT_DB_SIZE);
10047
10036
 
10048
10037
  if (useDatabaseCache) {
10049
10038
  if (!(name in websqlDBCache)) {
@@ -10148,7 +10137,7 @@ IDBFactory.prototype.deleteDatabase = function (name) {
10148
10137
  let escapedDatabaseName; // eslint-disable-next-line no-useless-catch
10149
10138
 
10150
10139
  try {
10151
- escapedDatabaseName = escapeDatabaseNameForSQLAndFiles(name); // eslint-disable-next-line radar/no-useless-catch
10140
+ escapedDatabaseName = escapeDatabaseNameForSQLAndFiles(name); // eslint-disable-next-line sonarjs/no-useless-catch
10152
10141
  } catch (err) {
10153
10142
  throw err; // throw new TypeError('You have supplied a database name which does not match the currently supported configuration, possibly due to a length limit enforced for Node compatibility.');
10154
10143
  }
@@ -10868,9 +10857,9 @@ IDBCursor.prototype.__continueFinish = function (key, primaryKey, advanceState)
10868
10857
  });
10869
10858
  };
10870
10859
 
10871
- IDBCursor.prototype.continue = function ()
10872
- /* key */
10873
- {
10860
+ IDBCursor.prototype.continue = function
10861
+ /* key */
10862
+ () {
10874
10863
  // eslint-disable-next-line prefer-rest-params
10875
10864
  this.__continue(arguments[0]);
10876
10865
  };
@@ -11108,7 +11097,6 @@ function setGlobalVars(idb, initialConfig) {
11108
11097
  } else {
11109
11098
  const o = {
11110
11099
  get [name]() {
11111
- // eslint-disable-next-line unicorn/prefer-prototype-methods
11112
11100
  return propDesc.get.call(this);
11113
11101
  }
11114
11102
 
@@ -11168,7 +11156,6 @@ function setGlobalVars(idb, initialConfig) {
11168
11156
  const shimIDBFactory = IDBFactory;
11169
11157
 
11170
11158
  if (CFG.win.openDatabase !== undefined) {
11171
- // eslint-disable-next-line unicorn/prefer-prototype-methods
11172
11159
  shimIndexedDB.__openDatabase = CFG.win.openDatabase.bind(CFG.win); // We cache here in case the function is overwritten later as by the IndexedDB support promises tests
11173
11160
  // Polyfill ALL of IndexedDB, using WebSQL
11174
11161
 
@@ -11431,7 +11418,7 @@ function wrappedSQLiteDatabase(name) {
11431
11418
  return db;
11432
11419
  }
11433
11420
 
11434
- const nodeWebSQL = customOpenDatabase__default['default'](wrappedSQLiteDatabase);
11421
+ const nodeWebSQL = customOpenDatabase__default["default"](wrappedSQLiteDatabase);
11435
11422
 
11436
11423
  // ID_Start (includes Other_ID_Start)
11437
11424
  const UnicodeIDStart = '(?:[$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0]|\\uD821[\\uDC00-\\uDFEC]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D])'; // ID_Continue (includes Other_ID_Continue)